js中的reduce函数详解
reducer 逐个遍历数组元素,每一步都将当前元素的值与上一步的计算结果相加(上一步的计算结果是当前元素之前所有元素的总和)——直到没有更多的元素被相加。语法:reduce(function(previousValue, currentValue, currentIndex, array) { /* ... */ }, initialValue)参数:一个 “reducer” 函数,包含四个参数
·
reducer 逐个遍历数组元素,每一步都将当前元素的值与上一步的计算结果相加(上一步的计算结果是当前元素之前所有元素的总和)——直到没有更多的元素被相加。
语法:reduce(function(previousValue, currentValue, currentIndex, array) { /* ... */ }, initialValue)
参数:
一个 “reducer” 函数,包含四个参数:
previousValue
:上一次调用callbackFn
时的返回值。在第一次调用时,若指定了初始值initialValue
,其值则为initialValue
,否则为数组索引为 0 的元素array[0]
。currentValue
:数组中正在处理的元素。在第一次调用时,若指定了初始值initialValue
,其值则为数组索引为 0 的元素array[0]
,否则为array[1]
。currentIndex
:数组中正在处理的元素的索引。若指定了初始值initialValue
,则起始索引号为 0,否则从索引 1 起始。array
:用于遍历的数组。-
// let maxarr = [1, '2', true, undefined, null] // // 数组.reduce(累加器,起始值) // // 累加器是一个函数接收4个参数 // console.log( // maxarr.reduce((sum, item, index, arr) => { // console.log('sum:', sum); // console.log('item:', item); // console.log('index:', index); // console.log('arr:', arr); // // return的值会被当成下一次循环的sum // return sum + item; // }, 5) // );
输出结果
-
更多推荐
已为社区贡献1条内容
所有评论(0)