我创建了一种表单,提交后将某些数据作为数组存储在localstorage
中:
var anInput = {'name':'John', 'age':'23'};
if(localStorage.getItem("artikli") === null) {
var artikal = [anInput];
localStorage.setItem("artikli",
JSON.stringify(artikli));
} else {
var artikli = localStorage.getItem("artikli"),
a = JSON.parse(artikli),
b = a.replace(/\[|\]/g, ""),
artikal = [b,anInput];
}
我尝试了这个,但出现错误:
a.replace不是函数
我正在尝试新表单提交以更新localstorage中的现有项目。
最佳答案
调用JSON.parse()
后,您将拥有一个数组,而不是JSON字符串。您可以对此使用常规的数组操作-使用.push()
将新对象添加到数组。
var anInput = {'name':'John', 'age':'23'};
var json = localStorage.getItem("artikli");
if (json) {
artikli = JSON.parse(json);
} else {
artickli = [];
}
artikli.push(anInput);
localStorage.setItem("artikli", JSON.stringify(artikli));