Skip to content

如果空数组调用reduce会发生什么?

参考答案:

当空数组调用reduce()方法时,如果没有提供初始值参数,则会抛出一个TypeError错误。这是因为在空数组上调用reduce()方法时,无法得到初始累积值。

例如:

javascript
const emptyArray = [];
const result = emptyArray.reduce((accumulator, currentValue) => accumulator + currentValue);
// TypeError: Reduce of empty array with no initial value

要解决这个问题,可以提供一个初始值参数作为reduce()的第二个参数。这样,在空数组的情况下,将使用该初始值作为结果返回。

以下是对空数组使用reduce()并提供初始值的示例:

javascript
const emptyArray = [];
const initialValue = 0;
const result = emptyArray.reduce((accumulator, currentValue) => accumulator + currentValue, initialValue);

console.log(result); // 输出: 0

在上述代码中,我们通过将初始值设置为0,确保了在空数组的情况下也能正确返回结果。