-1

javascript的函数如何reduce确定它的初始值,当它没有被传递时?它只是默认为数字0吗?

为什么这两个工作:

[1, 2, 3, 4].reduce((sum, currentValue) => {
  return sum + currentValue;
});

[1, 2, 3, 4].reduce((string, currentValue) => {
  return `${string}` + currentValue;
});

但这不是吗?

[1, 2, 3, 4].reduce((object, currentValue) => {
  object[currentValue] = currentValue;
  return object;
});
4

1 回答 1

4

Array.prototype.reduce() 初始值(可选)

用作回调第一次调用的第一个参数的值。如果未提供初始值,则将使用数组中的第一个元素。在没有初始值的空数组上调用 reduce() 是错误的。

于 2018-06-27T15:19:34.463 回答