js reduce错误TypeError: reduce of empty array with no initial value

js reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

例如:

const array1 = [1, 2, 3, 4];

const reducer = (accumulator, currentValue) => accumulator + currentValue; // 1 + 2 + 3 + 4 console.log(array1.reduce(reducer)); // expected output: 10 // 5 + 1 + 2 + 3 + 4 console.log(array1.reduce(reducer, 5)); // expected output: 15

reducer函数接收4个参数:

    Accumulator (acc) (累计器)

    Current Value (cur) (当前值)

    Current Index (idx) (当前索引)

    Source Array (src) (源数组)  

arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])

您的reducer函数的返回值分配给累计器,该返回值在数组的每个迭代中被记住,并最后成为最终的单个结果值。

如果数组为空且没有提供initialValue,会抛出错误TypeError: reduce of empty array with no initial value

可以通过添加initialValue来解决。

详见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 21、push() 的使用    push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。 语...
    神奇作手阅读 1,873评论 0 0
  • 为学习<数据结构与算法>做准备,我们有必要梳理一下数组,因为我们需要它来模拟各种数据结构,如栈,列表,队列等。而实...
    雨飞飞雨阅读 1,310评论 0 0
  • The JavaScriptArrayobject is a global object thatis used ...
    skycolor阅读 3,677评论 0 0
  • 常用方法速览: 接下来是比较全的、详细的方法用法 1. Array.from() 该方法从一个类似数组或可迭代对象...
    Sun____阅读 3,440评论 0 1
  • JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,...
    hui8685291阅读 3,677评论 0 0

友情链接更多精彩内容