2016-03-16

Array.prototype.reduce()

reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值。

1
arr.reduce(callback, [initialValue])

参数

  • callback 执行数组中每个值的函数,包含四个参数
    • previousValue 上一次调用回调返回的值,或者是提供的初始值(initialValue)
    • currentValue 数组中当前被处理的元素
    • index 当前元素在数组中的索引
    • array 调用 reduce 的数组
  • initialValue 作为第一次调用 callback 的第一个参数。

求数组最小值:

1
2
3
4
5
6
7
Array.prototype.min = function() {
    return this.reduce(function(preValue, curValue, index, array) {
        return preValue > curValue ? curValue : preValue;
    })
}
var arr = [9, 5, 2, 3, 37, 16];
arr.min(); // 2

其他

Comments