本文共 892 字,大约阅读时间需要 2 分钟。
arr.reduce(function(prev,cur,index,arr){...}, init);
ar arr = [3,9,4,3,6,0,9];var sum = arr.reduce(function (prev, cur) { return prev + cur;},0);
由于传入了初始值0,所以开始时prev的值为0,cur的值为数组第一项3,相加之后返回值为3作为下一轮回调的prev值,然后再继续与下一个数组项相加,以此类推,直至完成所有数组项的和并返回。
var arr = [1, 2, 3, 4, 5];sum = arr.reduce(function(prev, cur, index, arr) { //输出的是第一项的值或上一次叠加的结果,正在被处理的元素,正在被处理的元素的索引值 console.log(prev, cur, index); return prev + cur;})console.log(arr, sum);
var arr = [3,9,4,3,6,0,9];var max = arr.reduce(function (prev, cur) { return Math.max(prev,cur);})
由于未传入初始值,所以开始时prev的值为数组第一项3,cur的值为数组第二项9,取两值最大值后继续进入下一轮回调。
转载地址:http://frro.baihongyu.com/