javascript - 如何比较数组的多个对象中的属性值?

标签 javascript jquery backbone.js underscore.js

如何比较数组的多个对象中的属性值? 我在数组 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/

相关文章:

javascript - 在javascript中显示明天的名字?

javascript - 使用 jQuery 将 html 添加到 DOM

jquery - 在 ASP.NET MVC 2 中实现以下条目表单的想法

javascript - 最简单的递归函数返回 undefined

JavaScript 默认等待而不是手动等待

javascript - 一种在不知道嵌套 js 对象中的路径的情况下访问属性的方法

jquery - 只需一次 Dropify 即可获得清晰的图像

javascript - "Error: Module name ' 下划线 ' has not been loaded yet for context: _"有时仅在 Firefox 上出现

backbone.js - 是否应该用listenTo/stopListening 替换所有Backbone 开/关事件?

javascript - 如何在 backbone.js 回调中从模型中分离一些响应数据