Check if a value exists in an Array object in JavaScript or Angular

Viewed 43976

I want to check if a value exist in an array object. Example:

I have this array:

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

And I want check if id = 2 exists here.

4 Answers

You can use 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);

You can use some().

If you want to just check whether a certain value exists or not, the Array.some() method (since JavaScript 1.6) is fair enough as already mentioned.

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

Also, find() is a possible choice.

If you want to fetch the entire very first object whose certain key has a specific value, it is better to use the Array.find() method which has been present since ES6.

let hasPresentOn = a.find(
  function(el) {
  return el.id === 2
  }
);
console.log(hasPresentOn);

You can use the find method as below:

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

Try this:

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