javascript_高阶函数

//javascript_高阶函数

//代码1:
'use strict'
function calculate(a, b, f) {
    return f(a) + f(b);
}
var x = calculate(-5, 4, Math.abs);
console.log(x);
//代码1解说:
// 1.上面的代码是高阶函数的一个例子
// 2.高阶函数指一个函数,参数列表中具有函数

//代码2:
'use strict'
var arr1 = [1, 2, 3, 4, 5];
var arr2 = arr1.map(String);
console.log(arr2);
//代码2解说:
//1.高阶函数例子:map()。上面将一个int类型数组转化成字符串类型数组

//代码3:
'use strict'
var arr1 = [1, 2, 3, 4, 5];
var result = arr1.reduce(
    function (a, b) {
        return a*b;
    }
);
console.log(result);
//代码3解说:
//1.高阶函数reduce(),上面对int数组的元素求积

//-----------------------------------------------代码4:
'use strict'
var arr1 = [1,2,3,4,5,6];
var arr2 = arr1.filter(
    function(x) {
        return x % 2 === 0;
    }
);
console.log(arr2);
//-----------------------------------------------代码4解说:
//1.高阶函数filter(),回掉函数筛选数组中的元素

//-----------------------------------------------代码5:
'use strict'
var arr1 = [21, 12, 3, 14, 5, 61, 5];
var arr2 = arr1.sort(function(x, y) {
    if (x < y) {
        return -1;
    } else {
        return 1;
    }
    return 0;
});
console.log(arr2);
//-----------------------------------------------代码5解说:
//1.高阶函数sort(),对数组元素进行排序
//2.sort()函数返回值仍然是原来的数组

猜你喜欢

转载自www.cnblogs.com/mexding/p/8950127.html