github编辑

JavaScript 高阶函数

一、概念

高阶函数就是函数的参数也是一个函数。

function add(x, y, f) {
    return f(x) + f(y);
}

var result = add(-5, 9, Math.abs)

console.log(result) // output: 14

f 是一个函数,但它是 add 函数的一个参数。

二、map

map() 方法会创建一个新数组,这个新数组是由原来的数组的每一个元素调用一次提供的函数后的返回值组成的。 对 arr 数组的每一个值执行 pow 函数操作,省去编写 for 循环。

'use strict';

function pow(x) {
    return x * x;
}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var results = arr.map(pow); // output: [1, 4, 9, 16, 25, 36, 49, 64, 81]
console.log(results);

数组所有值转为 String

三、reduce

reduce() 接受两个参数,进行一次运算后,把这次运算的结果作为下一次运算的第一个参数。 [x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4) x1x2 进行运算后比如说生成 y1y1 作为新的第一个参数,之后 y1x3 进行运算生成 y2 ,依次进行。

接下来做一些练习。

3.1 求和

3.2 求积

3.3 字符串转数字

3.4 规范英文名称

3.5 字符串转整数

三、参考资料

map/reducearrow-up-right

最后更新于