一、
使用includes( )方法,意为存在,存在返回true,不存在返回false,重点是要结合JSON.stringify( )序列化为字符串后再判断。
var arr = [{"appName":"小何","appId":"1"},{"appName":"小王","appId":"2"}]
var obj = {"appName":"小王","appId":"2"}
//如果数组arr中不存在字符串JSON.stringify(obj),那就可以添加,反之,则不添加
if(JSON.stringify(arr).includes(JSON.stringify(obj)) === false){
console.log('不存在')
arr.push(obj)
}else{
console.log('已存在')
}
二、
可以使用Lodash库中的_.includes
方法来判断一个对象是否在一个对象数组中。
const _ = require('lodash')
// 定义对象数组
const objArray = [
{ id: 1, name: 'Apple' },
{ id: 2, name: 'Banana' },
{ id: 3, name: 'Orange' }
]
// 定义要查找的对象
const objToFind = { id: 2, name: 'Banana' }
// 使用_.includes方法判断对象是否存在于数组中
const isObjectInArray = _.includes(objArray, objToFind)
console.log(isObjectInArray); // 输出:true