簡體   English   中英

將變量從循環存儲為數組到localStorage

[英]Store variable from loop as array to localStorage

for循環的結果作為數組存儲到localStorage的方式是什么? 也就是說,結果應為: ["./somepage1.html", "./somepage2.html"]

<div class="someclass" href="./somepage1.html">foo</div>
<div class="someclass" href="./somepage2.html">foo</div>

<script>
var foo = document.getElementsByClassName("someclass");
for (var i = 0; i < foo.length; i++)
{
    var hrefs = foo[i].getAttribute("href");
    console.log(hrefs);
}
</script>

首先,創建href數組。

這使用Array.prototype.map從元素的HTMLCollection創建新的href數組。

var foo = document.getElementsByClassName("someclass");

var arr = Array.prototype.map.call(foo, function(elem) {
    return elem.getAttribute("href");
});

然后使用JSON.stringify()對其進行序列化,然后將其存儲在localStorage任何位置。

localStorage.foobar = JSON.stringify(arr);

當然,存儲您的數據不需要JSON。 您可以根據需要序列化它。

您可能已經使用.join()來創建一個逗號分隔的字符串。

var foo = document.getElementsByClassName("someclass");

localStorage.foobar = Array.prototype.map.call(foo, function(elem) {
    return elem.getAttribute("href");
}).join(",");

雖然這不是您描述的特定結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM