在 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 中更新本地存储数组的主要内容,如果未能解决你的问题,请参考以下文章