Javascript检查Id对象是否在数组中

Javascript检查Id对象是否在数组中,javascript,Javascript,我有一个id,我需要检查它是否在一个对象数组中。例如 id = 2; const arr = [{id: 1, name: 'James'}, {id: 2, name: 'Peter'}, {id: 3, name: 'Mike'}] 有一个javascript函数可以做到这一点吗?我在网上找不到一个。includes()方法只在对象在数组中时比较,而不在对象中存在属性时比较。感谢charlietfl指出,如果您只关心匹配存在而不需要每个匹配实例,那么find()比filter()更有效

我有一个id,我需要检查它是否在一个对象数组中。例如

id = 2;

const arr = [{id: 1, name: 'James'}, {id: 2, name: 'Peter'}, {id: 3, name: 'Mike'}]

有一个javascript函数可以做到这一点吗?我在网上找不到一个。includes()方法只在对象在数组中时比较,而不在对象中存在属性时比较。

感谢charlietfl指出,如果您只关心匹配存在而不需要每个匹配实例,那么
find()
filter()
更有效

您可以使用
find()
方法检查是否存在与您的条件匹配的元素。如果未找到元素,则
containsId
变量将未定义

varid=2;
const arr=[{id:1,名称:'James'},{id:2,名称:'Peter'},{id:3,名称:'Mike'}];
//查找数组中的第一个元素
//其id等于2。
var containsId=arr.find(x=>x.id==id);
//记录(或返回)我们是否找到
//元素。

console.log(containsId!==未定义)
感谢charlietfl指出
find()
filter()
更高效,如果您只关心匹配存在,而不需要每个匹配实例

您可以使用
find()
方法检查是否存在与您的条件匹配的元素。如果未找到元素,则
containsId
变量将未定义

varid=2;
const arr=[{id:1,名称:'James'},{id:2,名称:'Peter'},{id:3,名称:'Mike'}];
//查找数组中的第一个元素
//其id等于2。
var containsId=arr.find(x=>x.id==id);
//记录(或返回)我们是否找到
//元素。
console.log(containsId!==未定义)
let id=3;
常数arr=[{
id:1,
名字:“詹姆斯”
}, {
id:2,
名字:“彼得”
}, {
id:3,
名字:“迈克”
}]
var chek=arr.find(c=>c.id==id);
控制台日志(勾选“不存在”)
//或:
if(chek==未定义){
控制台日志(“不存在”)
}否则{
console.log(chek.name)
}
let id=3;
常数arr=[{
id:1,
名字:“詹姆斯”
}, {
id:2,
名字:“彼得”
}, {
id:3,
名字:“迈克”
}]
var chek=arr.find(c=>c.id==id);
控制台日志(勾选“不存在”)
//或:
if(chek==未定义){
控制台日志(“不存在”)
}否则{
console.log(chek.name)

}
如果为假,我需要它返回true。这是否回答了您的问题?该答案返回整个对象或未定义,但我只需要一个true或falseArray#some()返回Boolean如果它是False,我需要它返回true这是否回答了您的问题?该答案返回整个对象或未定义,但我只需要一个true或falseArray#some()返回布尔值使用some()或find()更有效,因为它们在满足条件时中断,不需要生成新数组使用some()或find()更有效,因为它们在满足条件时中断,不需要生成新数组