6

let's say I have an array of objects:

let arr = [
   {
    name: 'Jack',
    id: 1
   },
   {
    name: 'Gabriel',
    id: 2
   },
   {
    name: 'John',
    id: 3
   }
]

I need to check whether that array includes the name 'Jack' for example using:

if (arr.includes('Jack')) {
   // don't add name to arr

} else {
  // push name into the arr

}

but arr.includes('Jack') returns false, how can I check if an array of objects includes the name?

Gabriel Nessi
  • 325
  • 2
  • 4
  • 16

1 Answers1

15

Since you need to check the object property value in the array, you can try with Array​.prototype​.some():

The some() method tests whether at least one element in the array passes the test implemented by the provided function. It returns a Boolean value.

let arr = [
   {
    name: 'Jack',
    id: 1
   },
   {
    name: 'Gabriel',
    id: 2
   },
   {
    name: 'John',
    id: 3
   }
]
var r = arr.some(i => i.name.includes('Jack'));
console.log(r);
Mamun
  • 66,969
  • 9
  • 47
  • 59