Skip to content

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

Posted on:2024年7月19日 at 09:08

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

例如:

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

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

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

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

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

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

原文转自:https://fe.ecool.fun/topic/a34f9f1b-c1b6-4660-b851-0b610c18e66e