据我了解,对于使用 rxjs 计算 Angular 中的数组,我使用reduce,例如,如果我想要 count : [{id: 1, items: [10, 20, 30] }]
我使用以下代码:
const item = from([{id: 1, items: [10, 20, 30]}]);
item.pipe(
map(actions => actions.items),
mergeAll(),
reduce((acc, i) => acc + i, 0)
).subscribe(p => console.log('Print 60: ', p));
问题是如何在以下数组中创建一个 reducer :
const items = [
{
id: 1,
boxing: [1, 2, 2]
},
{
id: 2,
boxing: [10, 10, 20]
}];
预期结果:
[{
id: 1,
boxing: 5
},
{
id: 2,
boxing: 40
}]
我将感谢您的帮助
最佳答案
您可以通过使用 reduce
和 map
as 轻松地使用 JavaScript 来完成此操作
const items = [
{id: 1, boxing: [1, 2, 2]},
{id: 2, boxing: [10, 10, 20]}
];
let reducedItems = items.map(val => {
return {
id: val.id,
boxing: val.boxing.reduce((a, i) => a + i)
}
});
console.log(reducedItems);
关于javascript - 从数组中生成 Angular reducer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56436685/