2010-10-10 51 views

回答

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"; 
}; 
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"}]