检查 JavaScript 或 Angular 中的数组对象中是否存在值

问题描述 投票:0回答:5

我想检查数组对象中是否存在某个值。示例:

我有这个数组:

[
    {id: 1, name: 'foo'},
    {id: 2, name: 'bar'},
    {id: 3, name: 'test'}
]

我想检查这里是否存在

id = 2

javascript angular
5个回答
23
投票

你可以使用 Array.prototype.some

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);


7
投票

您可以使用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);

6
投票

您可以使用以下find方法:

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")


1
投票

试试这个:

let idx = array.findIndex(elem => elem.id === 2)
if (idx !== -1){
    // Your element exists
}

0
投票
var isExist = a.some((el)=>{ return el.id === 2});
console.log(isExist);
© www.soinside.com 2019 - 2024. All rights reserved.