本案例通过遍历,查找对象是否在数组中,可以定义1个或2个key值作为元素的区分。如需更多key值,可再此案例基础上进行扩展。
定义:
isExistObjInArr(arr, idName, obj) {
let flag = false
arr.forEach((item) => {
if (idName.length === 1) {
if (item[idName[0]] === obj[idName[0]]) {
flag = true
}
} else {
if (item[idName[0]] === obj[idName[0]] && item[idName[1]] === obj[idName[1]]) {
flag = true
}
}
})
return flag
},
使用
const flag = !this.isExistObjInArr(Arr, ['id', 'age'], {
id: 1,
age: 13
})
// 查找数组Arr中是否存在这样一个对象:{ id: 1,age: 13}