[{id:1,price:10},{id:2,price:20}]
如何将ID为
2
的对象数组的价格更新为200?var obj = [{id:1,price:10},{id:2,price:20}];
for(var i=0;i<obj.length;i++){
if(obj[i].id == 2){
//what to do here?
}
}
我可以继续进行推送和拼接等操作,但是挑战也在于保持位置不变。
最佳答案
或更短使用Array#forEach()
:
var obj = [{ id: 1, price: 10 }, { id: 2, price: 20 }];
obj.forEach(function (a) {
if (a.id === 2) {
a.price = 200;
}
});
document.write('<pre>' + JSON.stringify(obj, 0, 4) + '</pre>');