一、需求:获取JSON中value值最大的项

[{
value: 1
},{
value: 2
},{
value: 3
}]

二、语法:
​​​array.reduce(callback[, initialValue])​

参数

说明

array

必需。数组对象

callback

必需。一个接受最多四个参数的函数。对于数组中的每个元素,reduce 方法都会调用 callback函数一次。

initialValue

可选。如果指定 initialValue,则它将用作初始值。第一次调用 callback 函数会将此值作为参数。

三、返回值:
  通过最后一次调用回调函数获得的累积结果。

四、回调函数语法:
​​​function callbackfn(previousValue, currentValue, currentIndex, array)​

参数

说明

previousValue

通过上一次调用回调函数获得的值。如果向 reduce 方法提供 initialValue,则在首次调用函数时,previousValue 为 initialValue。

currentValue

当前数组元素的值。

currentIndex

当前数组元素的数字索引。

array

包含该元素的数组对象。

五、示例:

let maxValue = data.reduce((prev, cur) => {
return prev.value > cur.value ? prev : cur
})
// maxValue = { value:3 }