JavaScript 高阶函数reduce

2017-06-16  本文已影响0人  Molly6943

用法:

Arrayreduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个参数,reduce()把结果继续和序列的下一个元素做累积计算,其效果就是:

[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)

比方说对一个Array求和,就可以用reduce实现:

var arr = [1, 3, 5, 7, 9];
arr.reduce(function (x, y) {
    return x + y;
}); // 25

练习:

查找数组中数字最多的数字。如果参数数组中的两个数字具有相同的长度,则返回数组中的第一个。

function findLongest(array){
  return array.reduce((res, curr) => (String(res).length < String(curr).length) ? curr : res);
}
findLongest([1, 10, 100]) //100
上一篇下一篇

猜你喜欢

热点阅读