【发布时间】:2014-03-22 06:06:28
【问题描述】:
所以我有一个数组 stringify'ed 并保存在我的 localStorage 中的“persons”键下。
arr = [{"name":"a", "age": 1, "sport":"football"},
{"name":"b", "age": 2, "sport":"volley"},
{"name":"c", "age": 3, "sport":"basket"}];
localStorage.setItem('persons', JSON.stringify(arr));
当我需要更新姓名为 x 的人的年龄时(假设输入是姓名为 b 的人),我的方法是获取并解析我的 localStorage 密钥:
var persons = JSON.parse(localStorage.persons);
然后我创建一个 for 循环来遍历对象并找到名称为 b 的对象:
for (var i = 0; i < persons.length; i++) {
if(inputName === persons[i].name){
persons[i].age += 2
localStorage.setItem("persons", JSON.stringify(aCustomers[i].age));
}
}
这似乎不起作用。
我在循环中找到了我的匹配项,但我不知道如何将 2 年添加到年龄并在我的 localStorage.persons 中更新该值而不覆盖和破坏 json 对象。
【问题讨论】:
-
你正在字符串化
aCustomers。这就是你想要的吗? -
这是一个错误!应该是人!
-
这能解决问题吗,还是有其他问题?
-
epascarello 已修复,谢谢! :-)
标签: javascript json loops local-storage