在 JavaScript 中聚合一组对象

Ser*_*rge 1 javascript arrays aggregation

我有一组具有布尔字段 X 的对象。 [{..., x: true, y: 3, ...]

我需要聚合这个数组,以便获得一个值,true(或false),如果 的所有x都对应true(或false),否则undefined......以及......的总和y......

是否可以为此目的使用reduceArray 函数、groupby by underscorejs 或其他函数?

前任:

[
 {a:'titi', x: true,  y: 3}, 
 {a:'toto', x: false, y: 6}
]
Run Code Online (Sandbox Code Playgroud)

结果

       {x: undefined, y: 9}
Run Code Online (Sandbox Code Playgroud)

Ada*_*sko 5

这对于reduce来说非常简单:

.reduce((a, b) => ({
   x: a.x == b.x ? a.x : undefined,
   y: a.y + b.y
}))
Run Code Online (Sandbox Code Playgroud)

现场示例:

.reduce((a, b) => ({
   x: a.x == b.x ? a.x : undefined,
   y: a.y + b.y
}))
Run Code Online (Sandbox Code Playgroud)