请问一下。
有一个数组格式如下
[{id:1,name:a},{id:2,name:b},{id:3,name:c}]
现在有一个新的对象{id:2,name:b,sex:female}
,如何把原数组里面的{id:2,name:b}
替换成{id:2,name:b,sex:female}
。
最后输出的是[{id:1,name:a},{id:2,name:b,sex:female},{id:3,name:c}]
,可以使用一些新的语法
请问一下。
有一个数组格式如下
[{id:1,name:a},{id:2,name:b},{id:3,name:c}]
现在有一个新的对象{id:2,name:b,sex:female}
,如何把原数组里面的{id:2,name:b}
替换成{id:2,name:b,sex:female}
。
最后输出的是[{id:1,name:a},{id:2,name:b,sex:female},{id:3,name:c}]
,可以使用一些新的语法
应该明确一点:你要实现的是数组的操作。
那么每个数组对象元素都应该有唯一的参考属性才能确定究竟要替换谁啊。
比如你这里的id属性。
然后通过遍历每个数组元素,判断id是否相等,相等即替换。
关于数组的方法,自己看文档
方法1: 添加新值
var arr = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}];
arr[1].sex = 'female'
console.log(JSON.stringify(arr));
方法2: 替换对象
var array = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}];
array[1] = {id:2,name:'b',sex:'female'};
console.log(JSON.stringify(array));
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
这段代码会产生一个新数组
如果你想直接在原数据中替换,用 for 循环……这个你应该会写吧