我想检查数组对象中是否存在值,例如:
我有这个数组:
[
{id: 1, name: 'foo'},
{id: 2, name: 'bar'},
{id: 3, name: 'test'}
]
我想检查这里是否存在id = 2
。
由于
答案 0 :(得分:8)
var a = [
{id: 1, name: 'foo'},
{id: 2, name: 'bar'},
{id: 3, name: 'test'}
];
var isPresent = a.some(function(el){ return el.id === 2});
console.log(isPresent);

答案 1 :(得分:2)
您可以使用:some()
如果您只想检查某个值是否存在,Array.some()
方法(自JavaScript 1.6起)已经足够公平了。
let a = [
{id: 1, name: 'foo'},
{id: 2, name: 'bar'},
{id: 3, name: 'test'}
];
let isPresent = a.some(function(el){ return el.id === 2});
console.log(isPresent);
此外,find()是一个可能的选择。
如果要获取其某些键具有特定值的第一个对象,最好使用自ES6以来引入的Array.find()
方法。
let hasPresentOn = a.find(
function(el) {
return el.id === 2
}
);
console.log(hasPresentOn);
答案 2 :(得分:1)
您可以使用以下方法
var x=[
{id: 1, name: 'foo'},
{id: 2, name: 'bar'},
{id: 3, name: 'test'}
]
var target=x.find(temp=>temp.id==2)
if(target)
console.log(target)
else
console.log("doesn't exists")
答案 3 :(得分:0)
试试这个
let idx = array.findIndex(elem => {
return elem.id === 2
})
if (idx !== -1){
//your element exist
}