如何比较数组的多个对象中的属性值?
我在数组 x
中有一些对象。
var arr = [{a:1, b:2, c:3, d:4}, {a:1, x:2, y:3, z:4}, ...]
如果数组中所有对象的'a'
值相同,我想比较并返回true
最佳答案
要检查所有对象是否包含相同键相同的值,您可以使用 destructuring assignment用于获取第一个项目并检查实际项目。
var array = [{ a: 1, b: 2, c: 3, d: 4 }, { a: 1, x: 2, y: 3, z: 4 }],
key = 'a';
console.log(array.every((a, _, [b]) => a[key] === b[key]));
获取子字符串进行比较
var array = [{ a: 12345, b: 2, c: 3, d: 4 }, { a: 12367, x: 2, y: 3, z: 4 }];
console.log(array.every((a, _, [b]) => a.a.toString().slice(0, 3) === b.a.toString().slice(0, 3)));
ES5
var array = [{ a: 12345, b: 2, c: 3, d: 4 }, { a: 12367, x: 2, y: 3, z: 4 }];
console.log(array.every(function (a, _, b) {
return a.a.toString().slice(0, 3) === b[0].a.toString().slice(0, 3);
}));
关于javascript - 如何比较数组的多个对象中的属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52320168/