gpt4 book ai didi

javascript - 将对象添加到 localStorage 中的数组

转载 作者:可可西里 更新时间:2023-11-01 02:49:36 25 4
gpt4 key购买 nike

好的,我已经尝试按照此处的示例进行操作,我知道可能有几种不同的方法可以将对象添加到本地存储中的数组而不是覆盖它,但我至少找不到其中一种。

获得了将对象存储在数组中的代码,但它正在覆盖自身。谁能告诉我我错过了什么? (恐怕我可能会错过很多)。

function addEntry() {
var entryTitle = document.getElementById("entryTitle").value;
var entryText = document.getElementById("entryText").value;
var entry = {
"title": entryTitle,
"text": entryText
};
localStorage.setItem("entry", JSON.stringify(entry));
var allEntries = [];
allEntries.push(entry);
localStorage.setItem("allEntries", JSON.stringify(allEntries));
};

最佳答案

当您使用 setItem 时,它会覆盖之前存在的项目。您需要使用 getItem 来检索旧列表,附加到它,然后将它保存回 localStorage:

function addEntry() {
// Parse any JSON previously stored in allEntries
var existingEntries = JSON.parse(localStorage.getItem("allEntries"));
if(existingEntries == null) existingEntries = [];
var entryTitle = document.getElementById("entryTitle").value;
var entryText = document.getElementById("entryText").value;
var entry = {
"title": entryTitle,
"text": entryText
};
localStorage.setItem("entry", JSON.stringify(entry));
// Save allEntries back to local storage
existingEntries.push(entry);
localStorage.setItem("allEntries", JSON.stringify(existingEntries));
};

这是一个fiddle这证明了上述内容。

关于javascript - 将对象添加到 localStorage 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19635077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com