如何修改对象数组中每个对象的指定字段值?
对象数组属性批量修改实现方案
你可以通过以下两种常见方式实现需求:
方式一:创建新数组(不修改原数据,推荐)
使用Array.map()方法遍历原数组,返回包含修改后对象的新数组,原数组保持不变:
const data = [ { "is_new":1, "is_delayed":24, "is_active":25, "name":"london" }, { "is_new":1, "is_delayed":90, "is_active":90, "name":"paris" }, { "is_new":1, "is_delayed":45, "is_active":45, "name":"India" } ]; const myObj = data.map(item => ({ ...item, // 保留原对象所有属性 is_delayed: 0, // 覆盖指定属性值 is_active: 1 })); console.log(myObj);
方式二:直接修改原数组(节省内存,会改变原数据)
如果不需要保留原数组,用Array.forEach()直接遍历修改每个对象的属性:
const data = [ { "is_new":1, "is_delayed":24, "is_active":25, "name":"london" }, { "is_new":1, "is_delayed":90, "is_active":90, "name":"paris" }, { "is_new":1, "is_delayed":45, "is_active":45, "name":"India" } ]; data.forEach(item => { item.is_delayed = 0; item.is_active = 1; }); const myObj = data; // 修改后的原数组即为目标结果 console.log(myObj);
内容的提问来源于stack exchange,提问作者Rosy
相关产品推荐
相关产品推荐

