Javascript 检查数组中的对象是否包含相同的属性

Javascript 检查数组中的对象是否包含相同的属性,javascript,Javascript,我有一个对象数组,每个对象都有不同的属性。我想检查一个特定属性在所有对象中是否相等。e、 g peopleArr=[ { 姓名:西蒙, 年龄:22,, 头发:棕色 }, { 姓名:约翰, 年龄:22,, 头发:黑色 }, { 姓名:詹姆斯, 年龄:22,, 头发:金色 } ]如果所有对象中的age都等于22,则可以使用数组方法并在回调中进行检查。它将返回布尔值,如果所有对象都匹配该条件,它将返回true const peopleArr=[{ 姓名:“西蒙”, 年龄:22,, 头发:“棕色”

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

peopleArr=[
{
姓名:西蒙,
年龄:22,,
头发:棕色
},
{
姓名:约翰,
年龄:22,,
头发:黑色
},
{
姓名:詹姆斯,
年龄:22,,
头发:金色
}
]
如果所有对象中的
age
都等于22,则可以使用数组方法并在回调中进行检查。它将返回布尔值,如果所有对象都匹配该条件,它将返回true

const peopleArr=[{
姓名:“西蒙”,
年龄:22,,
头发:“棕色”
},
{
姓名:'约翰',
年龄:22,,
头发:“黑色”
},
{
姓名:“詹姆斯”,
年龄:23,,
头发:“金发”
}
]
const res=peopleArr.every(item=>item.age==22);

console.log(res)
使用.every()方法的替代方法是过滤数组,并将过滤后的数组长度与原始数组长度进行比较。像这样

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

const array_val_same = ( arr, val ) => {
    let filtered = arr.filter(el => el.age === val)
    return filtered.length === arr.length ? true : false
}

array_val_same(peopleArr, 22)

这只是一个替代方案,但我仍然使用.Author(.p>)。您是否介意编辑您的问题以包括您试图使用的代码> >每个()/代码>方法的尝试?如@ ESQEW,请考虑您试图解决这个问题的代码。如果属性没有定义,它应该返回什么?