使用数组更新本地存储值

时间:2017-05-25 22:38:45

标签: javascript jquery local-storage

我创建了一些表单,在提交后将一些数据存储在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中的现有项目。

2 个答案:

答案 0 :(得分:1)

调用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));

答案 1 :(得分:0)

这是一个函数:

<html>
<form action= "/select" method= "POST" accept-charset="utf-8">

<input type= "text" id= "input" name = "input"><BR>
<input type= "submit" id = "submitButton"><BR>

</form>
</html>

提示:使用JSON时,请使用双引号(“”)代替('')