【发布时间】:2020-05-18 12:14:56
【问题描述】:
我需要在数组成员上而不是在索引上执行 reduce 函数。我尝试了以下方法:
const len = 4;
const arr = new Array(len);
const total = arr.reduce((accum, dummy, index) => calculate(accum, index), 0);
这不起作用。我尝试添加一些打印输出,但似乎 reduce 语句中的函数永远不会被调用。
但是,如果我将 arr 替换为:
const arr = [0,1,2,3];
然后它工作正常。我错过了什么?我使用的数组的长度确实被验证为 4,那为什么它没有按预期执行 4 次函数呢?
【问题讨论】:
-
reduce函数在空数组上调用时返回初始值。如果您不将初始值传递给 reduce 函数并在空数组上调用 reduce,您将得到一个TypeError
标签: javascript arrays reduce