JavaScript - 使用本地存储保存/加载数组

标签 javascript arrays local-storage

我知道还有其他关于如何保存数组的问题。然而,我仍然不知道如何将其应用到我的情况......

所以,我想保存并加载这个双数组的第二个索引:

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/

相关文章:

javascript - 根据数组对象中存在的键排序

javascript - 无法附加一堆 Html

c++ - 具有固定大小数组的 STL 算法的效率

javascript - AngularJS - ng-repeat 中的目标特定元素

sqlite - Phonegap 离线数据库(跨所有平台)

javascript - 服务中的 Angular 2 变更检测

javascript - 谁能告诉我为什么这不是创建一个正方形?

java - ArrayList 返回零?

javascript - 为什么我在调试器中可以看到数据时 window.localStorage 是空的?

javascript - 无法使用 localStorage 读取未定义的属性推送