reduce函数基本用法
语法:
arr.reduce(callback,[initialValue])
作用: 接收一个函数作为累加器,为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(上一次回调的返回值),当前元素值,当前索引,原数组
简单实例:把数组里的全部数值相加
//定义一组数
let nums = [10,20,30,40,50];
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= 10 | n = 20, |
| 第三次 | preValue = 10 + 20 = 30 | n = 30, |
| 第四次 | preValue = 30 + 30 = 60 | n = 40, |
| 第五次 | preValue = 60 + 40 =100 | n = 50 |
| 最终结果 | preValue = 100 + 50 = 150 |