reduce()累加器

Posted vinson-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了reduce()累加器相关的知识,希望对你有一定的参考价值。

reduce() 方法对源数组的每个元素执行指定表达式。返回指定值

特性

1、reduce()不会改变源数组

2、reduce()返回累加后的最终值

语法:

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

参数:

arr.filter()有三个参数,分别是:

1、arr:被遍历的数组

2、callback(accumulator,currentValue,index,array){句柄}:回调函数,该回调函数接受四个参数:

  A、accumulator:累加器回调返回值

  A、currentValue:遍历到的当前元素

  B、index:为currentValue的索引

  C、array:被遍历的数组

3、initailValue:accumulator初始值

示例:

    let arr = [1, 2,3]
    let newArr=arr.reduce(function (accumulator, currentValue, index, ar) {
        console.log(accumulator);//遍历打印当前累加器的值0,1,3,6
        console.log(currentValue);//遍历打印当前值1,2,3
        console.log(index);//遍历打印当前索引0,1,2
        console.log(ar);//遍历打印三次["a", "b", "c"]
        console.log(this)//String {"我就是this的值"};遍历打印三次
        return accumulator+currentValue;//定义累加器表达式
      }, 0)//定义累加器初始值,默认1
      //输出
      console.log(arr);//[1, 2,3]           未改变源数组
      console.log(newArr);//6               返回累加器最终值

 

以上是关于reduce()累加器的主要内容,如果未能解决你的问题,请参考以下文章

reduce()累加器

如果未返回,reduce 函数的累加器未定义。为啥它会这样?

reduce的使用 (完整版)

reduce用法

js:Array.reduce累加计算合并数组

几个关于js数组方法reduce的经典片段