gpt4 book ai didi

javascript - 如何将对象列表减少为重复项

转载 作者:行者123 更新时间:2023-11-30 09:31:07 25 4
gpt4 key购买 nike

[为清楚起见进行了编辑]

使用 lodash,给定一个对象数组:

var v = [{'a':1, 'b':1}, {'a':1, 'b':2}, {'a':1, 'c':1}];

如何返回作为这些对象(键和值)的交集的对象?在这种情况下:

{'a':1}

我正在寻找每个对象中的键值对。


这似乎是 _.reduce 的任务, 但我不确定如何找到对象重复项。

最佳答案

您可以通过迭代键和检查值来减少对象。然后构建一个新的对象并返回。

var array = [{ a: 1, b: 1 }, { a: 1, b: 2 }, { a: 1, c: 1 }],
result = array.reduce(function (a, b) {
return Object.keys(a).reduce(function (o, k) {
if (a[k] === b[k]) {
o[k] = a[k];
}
return o;
}, {});
});

console.log(result);

ES6 与 Object.assign

var array = [{ a: 1, b: 1 }, { a: 1, b: 2 }, { a: 1, c: 1 }],
result = array.reduce((a, b) =>
Object.keys(a).reduce((o, k) =>
Object.assign(o, a[k] === b[k] ? { [k]: a[k] } : {}), {}));

console.log(result);

关于javascript - 如何将对象列表减少为重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46219812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com