1.使用findIndex()方法
const a=[
{
key:1,
name:'张三',
},
{
key:2,
name:'李四'
}
]
const b={
key:1,
name:'张三',
}
let c
c=a.concat(b)
let newArr=[]
c.map(item=>{
console.log('111',item)
newArr.findIndex(({key})=>{key===item.key})===-1&&newArr.push(item)})
console.log(newArr) //[{key:1,name:'张三'},{key:2,name:'李四'}]
2.filter 判断返回数组是否为空,为空添加
const a=[
{
key:1,
name:'张三',
},
{
key:2,
name:'李四'
}
]
const b={
key:1,
name:'张三',
}
let newArr
const c=a.filter(pItem=> pItem.key === b.key)
if(c.length===0){
newArr = a.concat(b);
}else{
newArr = a
}
console.log(newArr) //[ { key: 1, name: '张三' }, { key: 2, name: '李四' } ]
3.新生成一个 key 值数组,判断是否在数组中,不在就添加
const a=[
{
key:1,
name:'张三',
},
{
key:2,
name:'李四'
}
]
const b={
key:1,
name:'张三',
}
let newArr
let c=[];
a.forEach(pItem => {
c.push(pItem['key'])
})
if (c.indexOf(b.key) === -1) {
newArr= a.concat(b)
} else {
newArr= a
}
console.log(newArr)//[ { key: 1, name: '张三' }, { key: 2, name: '李四' } ]