doubleyong
管理员
管理员
  • 最后登录2020-10-29
  • 发帖数914
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:325回复:1

[js]高阶函数的介绍

楼主#
更多 发布于:2020-08-13 22:09
高阶函数的概念


高阶函数的英文名叫 Higher-Order Function. 什么是高阶函数?高阶函数需满足以下二个条件:
1、本身是一个函数
2、参数是函数
定义:一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数

常用的高阶函数

map:一般用于操作数组集合,遍历操作用。

let arr = [1,2,3,4,5,6]
let newArr = arr.map(function(x){ 
   return x * x
})
console.log(newArr)

reduce:数组元素计算
let arr = [1,2,3,4,5]
let num = arr.reduce(function(x,y){
    return x + y
})
console.log(num) // 15

filter:筛选元素用。返回数组元素的判断(boolean)
let arr = [1,2,3,4,5]
let r = arr.filter(function(x){
    return x % 2 != 0
})

sort:数组重排序。返回同一个数组对象。根据ascii码进行排序
let arr = [5,23,7,2,4,5,6]
let newArr1=arr.sort(function(){
 return x - y //从小到大
})

高阶函数来源


高阶函数源自于函数式编程(不熟悉的朋友请看《javascript中的函数式编程》),是函数式编程的基本技术。
那么,JS作为一门“一切皆为对象”的语言,是如何拥有函数式编程的能力呢?

是因为在JS中函数是一等公民,即函数可以被赋值给变量,被变量引用,这便使得函数可以作为参数,在其他函数间相互传递


参考
https://www.jianshu.com/p/f019f980a50d
https://zhuanlan.zhihu.com/p/63745406

最新喜欢:

goddessgoddes...
知识需要管理,知识需要分享
goddess
侠客
侠客
  • 最后登录2020-09-02
  • 发帖数17
沙发#
发布于:2020-08-14 22:27
干货收藏
游客


返回顶部

公众号

公众号