Array.prototype.reduce

2018-09-21  本文已影响0人  kkyeer

定义

reduce是js里Array.prototype的方法,用来通过给定的函数,对数组进行迭代后得到单值

用法

arr.reduce(callback[, initialValue])

  1. 回调函数callback的入参如下
  1. initialValue是初始值

测试代码

let arr1 = ['tom', 'and', 'jerry']

// 无initialValue的情况,第一次迭代acc为数组元素【0】
let arr1 = ['tom', 'and', 'jerry']

// 无initialValue的情况,第一次迭代acc为数组元素【0】
let count = 1;
let result1 = arr1.reduce(
    (acc, crtValue, crtIndex) => {
        console.log(`第${count++}次迭代的acc:${acc},index:${crtIndex}`);
        return acc + '-' + crtValue;
    }
)
console.log(`迭代完成,共${count++}次迭代,结果:${result1}`);
/*
第1次迭代的acc:tom,index:1
第2次迭代的acc:tom-and,index:2
迭代完成,共3次迭代,结果:tom-and-jerry
*/

count = 1;
result1 = arr1.reduce(
    (acc, crtValue, crtIndex) => {
        console.log(`第${count++}次迭代的acc:${acc},index:${crtIndex}`);
        return acc + '-' + crtValue;
    },
    'I would like to see'
)
console.log(`迭代完成,共${count++}次迭代,结果:${result1}`);
/*
第1次迭代的acc:I would like to see,index:0
第2次迭代的acc:I would like to see-tom,index:1
第3次迭代的acc:I would like to see-tom-and,index:2
迭代完成,共4次迭代,结果:I would like to see-tom-and-jerry
*/
上一篇下一篇

猜你喜欢

热点阅读