javascript - 在 localStorage 中添加不带转义字符的字符串数组

标签 javascript local-storage

我正在尝试在 localStorage 中保存字符串数组。这是我的代码:

export const saveComment = (state) => {
  try {
    const commentExisting = localStorage.getItem("comment");
    const comment = commentExisting ? commentExisting.split(", ") : [];
    comment.push(state);
    localStorage.setItem("comment", JSON.stringify(comment));
  } catch (err) {
    console.log(err);
  }
};

添加几个值后,我得到很多转义字符:

["[\"[\\\"Some comment\\\"]\",\"another one\"]","one more comment"]

我希望它是这样的:[“一些评论”,“另一条评论”,“还有一条评论”]

我的代码有什么问题吗?

最佳答案

您需要对 localStorage.getItem('comment') 的结果进行JSON.parse。这会将其转回一个可以直接使用的数组,而不是用逗号分割。

const saveComment = (state) => {
  try {
    const commentExisting = localStorage.getItem("comment");
    const comment = commentExisting ? JSON.parse(commentExisting) : [];
    comment.push(state);
    localStorage.setItem("comment", JSON.stringify(comment));
  } catch (err) {
    console.log(err);
  }
};

关于javascript - 在 localStorage 中添加不带转义字符的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63162939/

相关文章:

javascript - 在全局范围内使用 "let"创建的变量与在循环内使用 "var"创建的变量

javascript - 将数据添加到 localStorage 并检索它

javascript - JQuery - 使用 .html() 设置后获取 .html()

javascript - 检索本地存储时如何获取键值

javascript - 如何使用 selenium webdriver 找到伪元素的父元素?

javascript - 给定文件路径时,如何在 Javascript 中读取 .txt 文件路径中的对象

javascript - 将本地存储重构为 PouchDB

javascript - 如何增加 localStorage 的值

JavaScript isset() 函数

javascript - 在 Windows 中测试/调试 Phonegap iOS 应用程序