理解JavaScript函数reduce

516 阅读1分钟

reduce函数基本用法

语法:

arr.reduce(callback,[initialValue])

作用: 接收一个函数作为累加器,为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(上一次回调的返回值),当前元素值,当前索引,原数组

简单实例:把数组里的全部数值相加

    //定义一组数
    let nums = [10,20,304050];
    let total = nums.reduce(function(preValue, n) {
      //return 两者相加的值
      return preValue + n
      //preValue初始值设置为0
}, 0)
    //打印结果为 150
    console.log(total)

注意: preValue的值为上一次的返回值:

次数返回值数组数值
第一次preValue = 0 (初始值)n = 10,
第二次preValue = 0 (上一次preValue值) + 10= 10n = 20,
第三次preValue = 10 + 20 = 30n = 30,
第四次preValue = 30 + 30 = 60n = 40,
第五次preValue = 60 + 40 =100n = 50
最终结果preValue = 100 + 50 = 150