首页 > 解决方案 > 检查数组中的对象是否包含相等的属性

问题描述

我有一个对象数组,每个对象都有不同的属性。我想检查一个特定属性是否在所有对象中都相等。例如

peopleArr = [
  {
  name: Simon,
  age: 22,
  hair: brown
  },
  {
  name: John,
  age: 22,
  hair: black
  },
  {
  name: James,
  age: 22,
  hair: blond
  }
 ]

我需要一个函数,如果age在数组中的所有对象中具有相同的值,则返回 true,否则返回 false。我尝试了一些使用 .every 的变体,但无法让它专门用于对象属性(我比较新)。任何帮助表示赞赏。

标签: javascript

解决方案


您可以使用数组every方法并在回调age中检查所有对象是否等于 22。它将返回布尔值,如果所有对象都符合条件,它将返回 true

const peopleArr = [{
    name: 'Simon',
    age: 22,
    hair: 'brown'
  },
  {
    name: 'John',
    age: 22,
    hair: 'black'
  },
  {
    name: 'James',
    age: 23,
    hair: 'blond'
  }
]

const res = peopleArr.every(item => item.age === 22);
console.log(res)


推荐阅读