如何持久存储localStorage数据

时间:2020-06-29 04:30:43

标签: javascript local-storage

我很想知道如何使数据保留在localStorage中,同时还要添加新数据。我正在做的事情是创建一个测验,该测验会将用户的姓名缩写和他们的分数存储到localStorage中,以便在刷新时用户选择检索高分时将显示它们。我在到达应用程序末尾时遇到了麻烦,已经存在的数据被完全覆盖了。任何帮助表示赞赏。

function saveScore() {
    var data = [{name: userInitialsEl.value}, {score: scoreCount}];
    localStorage.setItem("high-score", JSON.stringify(data));
}

userInitialsEl是文本输入。 scoreCount是随着用户正确回答问题而增加的分数。

1 个答案:

答案 0 :(得分:0)

您需要先获取当前数据,然后再推送新数据,然后再保存回去,您可以执行以下操作:

function saveScore() {
  let newData = !!localStorage.getItem("high-score") ? JSON.parse(localStorage.getItem("high-score")) : []
  newData.push([{name: userInitialsEl.value}, {score: scoreCount}])
  localStorage.setItem("high-score", JSON.stringify(newData));
    
}