bug收集:专门解决与收集bug的网站
网址:www.bugshouji.com
01
高阶函数的概念
高阶函数的英文名叫 Higher-Order Function. 什么是高阶函数?高阶函数需满足以下二个条件:
1、本身是一个函数
2、参数是函数
定义:一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数
02
常用的高阶函数
let arr = [1,2,3,4,5,6]
let newArr = arr.map(function(x){
return x * x
})
console.log(newArr)
let arr = [1,2,3,4,5]
let num = arr.reduce(function(x,y){
return x + y
})
console.log(num) // 15
let arr = [1,2,3,4,5]
let r = arr.filter(function(x){
return x % 2 != 0
})
let arr = [5,23,7,2,4,5,6]
let newArr1=arr.sort(function(){
return x>y //从小到大
})
03
高阶函数来源
高阶函数源自于函数式编程(不熟悉的朋友请看《javascript中的函数式编程》),是函数式编程的基本技术。
那么,JS作为一门“一切皆为对象”的语言,是如何拥有函数式编程的能力呢?
是因为在JS中函数是一等公民,即函数可以被赋值给变量,被变量引用,这便使得函数可以作为参数,在其他函数间相互传递
参考:
https://www.jianshu.com/p/f019f980a50d
https://zhuanlan.zhihu.com/p/63745406