往一个数组中push对象,对象的唯一标识为name,当push到某个对象时,发现数组中存在 name相等的对象,此时如何更新数组中name相同的对象为当前要push的对象
往一个数组中push对象,对象的唯一标识为name,当push到某个对象时,发现数组中存在 name相等的对象,此时如何更新数组中name相同的对象为当前要push的对象
function youpush(list, data){
let index = list.findIndex(item => item.name == data.name)
if(index > -1){
list.splice(index, 1, data)
}else{
list.push(data)
}
}
var list = [{name: 1, value: 1}, {name: 2, value: 2}, {name: 3, value: 3}]
youpush(list, {name: 5, value: 5})
youpush(list, {name: 2, value: 22})
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
以上就是最中规中矩的写法吧。