PHP程序员@IT·互联网

JavaScript函数式编程-高阶函数reduce(三)

2016-08-08  本文已影响98人  陈7号

概述
对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。
语法

arr.reduce(callback[, initialValue])

参数

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

var orders = [
    {amount: 100},
    {amount: 238},
    {amount: 300},
    {amount: 50}
];

// 使用for循环实现累加
var total = 0;
for(var i = 0; i < orders.length; i++) {
    total += orders[i].order;
}

// 使用reduce重写
var total = orders.reduce(function(sum, order){
    return sum + order.amount;
}, 0);

// 使用es6重写
var total = orders.reduce((sum, order) => sum + order.amount, 0);

console.log(total);
// 输出为688
上一篇 下一篇

猜你喜欢

热点阅读