您好我有一段代码检查数组的值,如果在数组中找不到该值,则将该值添加到另一个数组(称为soldListingArray
)。然后它将soldListingArray
保存到localStorage(使用localStorage.setItem("array", soldListingArray
)。出于某种原因,在我的console
中,我可以看到变量是正确的,在将其添加到数组之后,但在我调用整个数组时代码之外,它表示它是空的。
array1
是我正在检查array2
数组内的所有值的数组。
这是我的代码:
function checkToSeeIfListingIsSold() {
var soldListingArray = localStorage.getItem("array");
var x = 0;
var y = array1.length;
do {
var index = array1[x];
if (array2.indexOf(index) == -1) {
// Here I add the variable to my soldListingArray
soldListingArray[soldListingArray.length] = index;
// Here my console says what has been added to the soldListingArray (the value is correct).
console.value += index + " has been added to soldListingArray;\n";
}
x++;
} while (x < y)
localStorage.setItem("array", soldListingArray);
// Here I ask my console to display my soldListingArray but I get an empty array back.
console.value += "Sold Array: " + soldListingArray;
}
为什么index
变量未添加并保存到我的soldListingArray
?
任何帮助表示赞赏!提前谢谢。
答案 0 :(得分:1)
如果要使用本地存储,则需要将数组转换为字符串:
localStorage.setItem("array",JSON.stringify(soldListingArray))
然后,当您需要稍后访问它并添加项目时,将其转换回数组:
soldListingArray = JSON.parse(localStorage.getItem("array"));
之前已经回答过;一点点的研究将会有很长的路要走: Storing Objects in HTML5 localStorage