如何检查对象数组中是否包含一个字符串。

15 浏览
0 Comments

如何检查对象数组中是否包含一个字符串。

这个问题已经有答案了:

如何确定Javascript数组是否包含具有等于给定值的属性的对象?

比如我有一个对象数组:

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

我想检查该数组是否包含名字为\'Jack\'的对象,我使用了:

if (arr.includes('Jack')) {
   // don't add name to arr
} else {
  // push name into the arr
}

但是arr.includes(\'Jack\')返回false,我如何检查数组中是否包含该名称的对象?

admin 更改状态以发布 2023年5月21日
0
0 Comments

由于您需要在数组中检查对象属性值,可以尝试使用Array.prototype.some()

some() 方法测试数组中是否至少有一个元素通过由提供的函数实现的测试。 它返回一个布尔值。

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

0