我可以像这里一样创建一个Json对象 How to create json by javascript for loop? 大! 我创建了一个如下
[
{
"id": "10",
"userName": "kuttan"
},
{
"id": "11",
"userName": "kunjan"
}
]
假设我想将ID为10的用户名更新为“新名称” 我该怎么办?(我不知道索引是1)
答案 0 :(得分:1)
遍历对象数组(因为它就是这样),并检查每个对象的“id”属性。
var list = [ { "id": "10", "userName": "kuttan" }, { "id": "11", "userName": "kunjan" } ];
for (var i=0;i<list.length;i++) {
if (list[i].id == "10") {
alert(i);
};
};
然后你可以将它抽象成一个很好的函数。
function findIndexById(list, id) {
for (var i=0;i<list.length;i++) {
if (list[i].id == id) {
return i;
};
};
return -1;
};
然后按如下方式使用:
var list = [ { "id": "10", "userName": "kuttan" }, { "id": "11", "userName": "kunjan" } ];
var index = findIndexById(list, "10");
if (index !== -1) {
list[index].userName = "new username";
};
答案 1 :(得分:0)
您可以遍历数组并检查当前迭代中对象的id属性。如果是10,请将新用户名分配给userName
。
var json = [ { "id": "10", "userName": "kuttan" }, { "id": "11", "userName": "kunjan" } ],
len = json.length,
obj;
while(len--) {
obj = json[len];
if (obj.id == 10) {
obj.userName = 'foobar';
}
}
console.log(json); // outputs [{id:"10", userName:"foobar"}, {id:"11", userName:"kunjan"}]