检查Array对象Javascript或Angular中是否存在值

时间:2017-11-17 15:57:44

标签: javascript angular

我想检查数组对象中是否存在值,例如:

我有这个数组:

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

我想检查这里是否存在id = 2

由于

4 个答案:

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




Array.prototype.some doc

答案 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
}