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               返回累加器最终值

 

posted on 2020-05-31 23:08  loongw  阅读(639)  评论(0编辑  收藏  举报

导航