我试图在如下所示的arrays对象内进行数组操作:
var first = [{
a: "one",
x: false
}, {
a: "two",
x: true
}, {
a: "three",
x: false
}, {
a: "one",
x: true
}, {
a: "two",
x: true
}, {
a: "four",
x: false
}];
期望的结果:
// Result
[{
a: "one",
x: true
}, {
a: "two",
x: true
}, {
a: "three",
x: false
}, {
a: "four",
x: false
}];
如您所见,我正在尝试省略具有相同键值 a 的重复项,但在省略该对象之前,我想在其他重复项中进行比较,并推送具有关键
x
的真实值的对象(如果没有可用的真实值,则仅将 x:false 值推入)。
我可以使用 lodash
或 underscore
来实现此目的。
我尝试使用 _.unionBy 和 _.uniqBy ,但我无法理解如何正确考虑 x:true 。