在 Javascript 中更新本地存储数组

Posted

技术标签:

【中文标题】在 Javascript 中更新本地存储数组【英文标题】:Updating localstorage arrays in Javascript 【发布时间】:2017-04-20 12:24:30 【问题描述】:

我正在尝试使用 JSON.parse/stringify 在本地存储中存储和更新一个数组。但它似乎不起作用。

    yesArray = JSON.parse(localStorage.getItem(yesArray));
    yesArray.push("yes");
    localStorage.setItem("yesArray", JSON.stringify(yesArray));

我错了吗?

【问题讨论】:

你在控制台看到什么错误? getItem(yesArray) -> getItem("yesArray") 错字? 【参考方案1】:

这似乎是在没有引号的情况下传递本地存储密钥的问题。

从本地存储读取时,使用 key 作为参数,因为它将值存储为 key/value 对

yesArray = JSON.parse(localStorage.getItem("yesArray"));

【讨论】:

【参考方案2】:

第一行中yesArray 周围缺少引号?

yesArray = JSON.parse(localStorage.getItem('yesArray'));

示例:

var yesArray = [];
localStorage.setItem('yesArray', JSON.stringify(yesArray));
yesArray = JSON.parse(localStorage.getItem('yesArray'));
yesArray.push('yes');
localStorage.setItem('yesArray', JSON.stringify(yesArray));
JSON.parse(localStorage.getItem('yesArray')); // Returns ["yes"]

【讨论】:

以上是关于在 Javascript 中更新本地存储数组的主要内容,如果未能解决你的问题,请参考以下文章

将数组保存并更新到本地存储JS

将本地文本文件读入 JavaScript 数组 [重复]

javascript本地缓存方案-- 存储对象和设置过期时间

《高性能Javascript》读书笔记-2

如何更新本地存储中的 json 值

我的数据库在更新本地数组中的 NSManageObject 时得到更新