Javascript检查Id对象是否在数组中
我有一个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 = 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()更有效,因为它们在满足条件时中断,不需要生成新数组