使用循环更新 JSON 属性值

update json property value using loop

本文关键字:属性 JSON 更新 循环      更新时间:2024-05-03
[{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?
        }
      }

我可以继续进行推和拼接等,但挑战在于保持该位置。

你可以做:

obj[i].price = 200;
break;

中断将阻止您继续循环遍历所有项目(因为您找到了要搜索的项目(。

或更短的 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>');

[{id:1,price:10},{id:2,price:20}].forEach(function(a){ (a.id===2) ? a.price=200 : a});