我正在寻找一种好方法来检查对象数组中是否存在对象。当所有键/值都存在于该数组的同一对象中时,预期结果为true。
我通过浏览stackoverflow(例如使用jQuery.grep或Find object by id in an array of JavaScript objects的Find a value in an array of objects in Javascript)找到的答案返回找到的对象。我正在寻找的是 bool(boolean) 结果(不是找到的对象)。
我知道我可以循环访问所有数组元素,然后比较每个值.... etc
但是我的意思是,是否有一种方法可以使用这样的JS方法:
var listOfObjecs = [
{id: 1, name: "Name 1", score: 11},
{id: 2, name: "Name 2", score: 22},
{id: 3, name: "Name 3", score: 33},
{id: 4, name: "Name 4", score: 44},
{id: 5, name: "Name 5", score: 55},
];
var isObjectExist = function(search){
return listOfObjecs.filter(function(obj){
if(obj.id===search.id && obj.name===search.name && obj.score===search.score){
return true;
}
return false;
});
}
console.log( isObjectExist({id: 3, name: "Name 3", score: 33}) );
//outputs the found object [{id: 3, name: "Name 3", score: 33}]
console.log( isObjectExist({id: 9, name: "Name 3", score: 33}) );
//outputs an empty object []
这是因为:
如果没有本机JavaScript方法(返回true或false),如何更新
isObjectExist()
函数以返回true或false? 最佳答案