我很想知道如何使数据保留在localStorage中,同时还要添加新数据。我正在做的事情是创建一个测验,该测验会将用户的姓名缩写和他们的分数存储到localStorage中,以便在刷新时用户选择检索高分时将显示它们。我在到达应用程序末尾时遇到了麻烦,已经存在的数据被完全覆盖了。任何帮助表示赞赏。
function saveScore() {
var data = [{name: userInitialsEl.value}, {score: scoreCount}];
localStorage.setItem("high-score", JSON.stringify(data));
}
userInitialsEl是文本输入。 scoreCount是随着用户正确回答问题而增加的分数。
答案 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));
}