我每分钟都会将一些随机值推送到数组中。
在重新加载时,我想要检索这个被推送的内容并且每分钟继续推送一些随机数据?
我正在使用本地存储空间。
mycode的 - :
localStorage.setItem("test",Myarray.push(JSON.stringify(data)));
var test2 = localStorage.getItem("test");
test = JSON.parse(test2); //var test is now re-loaded!
console.log(test);
这不起作用。
答案 0 :(得分:2)
将数据推送到数组,然后将其作为JSON存储在localStorage中:
// Set
Myarray.push(data);
localStorage.setItem("test", JSON.stringify(Myarray));
在获取数据时解析JSON(将其放在脚本的顶部或onload方法中):
// Get
if (localStorage.getItem("test")) {
Myarray = JSON.parse(localStorage.getItem("test"));
} else {
// No data, start with an empty array
Myarray = [];
}
console.log(Myarray);
答案 1 :(得分:0)
本地存储仅适用于字符串。此外,push
返回数组的新长度,因此您发布的代码无法按预期工作。试试这个:
Myarray.push(data);
localStorage.setItem("test", JSON.stringify(Myarray));
答案 2 :(得分:0)
问题是您将返回值从.push()
存储到本地存储(这是数组的长度),而不是实际数据。
您应该根据需要推送到数组,然后对数组进行字符串化并存储。
var Myarray = [];
Myarray.push(....);
localStorage.setItem("test", JSON.stringify(Myarray);