往数组对象里面push一个新的对象时,判断如果有id相同的就覆盖这个对象

往数组对象里面push一个新的对象时,判断如果有id相同的就覆盖这个对象改怎么做,用了许多方法去重都是保留原来的对象。。

let arr = [{

id:'1',

name:'a'

},{

id:'2',

name:'b'

}]

let obj = {

id:'2',

name:'c'

}

arr.push(obj)

//console.log(arr)

怎么让打印出来是如下的对象

{

id:'1',

name:'a'

},{

id:'2',

name:'c'

}

回答

const idx = arr.findIndex(i => i.id == obj.id)

idx < 0 ? arr.push(obj) : arr.splice(idx, 1, obj)

image.png
哦,忘了 加push;在else里面加,去掉return

以上是 往数组对象里面push一个新的对象时,判断如果有id相同的就覆盖这个对象 的全部内容, 来源链接: utcz.com/a/44578.html

回到顶部