reduce方法可以有两个累加器吗?我需要在我的reduce 中传递另一个常量。我想用 const 1 和 const 2 做同样的事情。我必须创建一个新方法还是可以在这里传递它?如果没有,那么我可以用新方法来完成它并将其传递给这个方法吗?
method(items: any[]): Element[] {
const xyz: { [key: string]: any[] } = items.reduce(
(acc, line) => {
// some code
const one = item.title;
const two = item.asset;
this.arr = [...this.arr, two];
acc[arr] = [...(acc[arr] || []), item];
return acc;
}
}
},
{}
);
const sets: Item[] = Object.entries(value).map(
([title, list]) => ({
list, title,
}) );
return sets;
}
reduce 函数仅采用一个 acc 参数,但您可以想象一种存储不同值的结构
const array = [
0, 1, 2, 3, 4, 5, 6
];
const result = array.reduce((acc, elem) => {
acc.firstAcc += elem;
if (elem % 2) {
acc.secondAcc += 1;
}
return acc;
}, {firstAcc: 0, secondAcc: 0});
console.log(result);