我知道还有其他关于如何保存数组的问题。然而,我仍然不知道如何将其应用到我的情况......
所以,我想保存并加载这个双数组的第二个索引:
var costume = [ //[name,price,owned]
["Mushroom",0,true],
["Agaric",20,false],
["Pumpkin",75,false],
["Shadow",100,false],
["Waffle",150,false]
];
当玩家购买蘑菇时,数组中的第二个索引(设置为“true”或“false”)将更改为“true”,但加载工作正常。
这是我的代码,但它不会将“服装”(上面的数组)更改为我保存的代码。
if(typeof(Storage) !== "undefined") {
localStorage["costumes"] = JSON.stringify(costume);
var owned = JSON.parse(localStorage["costumes"]);
for(var i = 0; i < costume.length; i++) {
costume = owned;
}
}
请帮忙,谢谢:)
最佳答案
你的 for 循环看起来毫无意义。
如果您想从 localStorage 加载数据,请调用 localStorage["costumes"]
或
localStorage.getItem(“服装”)
。
如果要将数据保存到 localStorage ,请调用 localStorage["costumes"] = JSON.stringify(costume)
或 localStorage.setItem('costumes', JSON.stringify(costume) ))
。
不要尝试更新对 localStorage["costumes"] 的引用。
关于JavaScript - 使用本地存储保存/加载数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41133218/