美文网首页
高阶函数的使用

高阶函数的使用

作者: 阿兰十一 | 来源:发表于2020-05-27 22:23 被阅读0次

filter/map/reduce

这三个高阶函数都比较常用,一般代替for循环使用
filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。
直接上代码演示
例如 求一个数组中小于10的元素,存到新的数组中去

var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.filter(function (x) {
    return  x<10  布尔值
});
r; // [1, 2, 4, 5, 6, 9]

以上案例filter里面的回调函数会依次将数组中的每个值执行一次,这个是执行8次,返回的是一个布尔值,如果是true的话直接加入到返回的新数组中,若为false将会自动过滤掉
简写

var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.filter(x=>x>10);
r; // [15]

map
map 函数的使用一般是用于映射关系
例如 返回一个两倍数的新数组

var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.map(function (x) {
    return  x*2  
});
r//[2, 4, 8, 10, 12, 18, 20, 30]

简写

var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.map(x=>x*2);
r// [2, 4, 8, 10, 12, 18, 20, 30]

reduce 一般使用场景最多为累加求和
例如 计算一个数组的和

var arr = [1, 2, 4, 5, 6, 9];
var r = arr.reduce(function (pre,n){
return pre+n  //pre 是前一个值的和n是后一个值
},0);
r//27
reduce 函数需要至少两个参数,一个是pre 代表的是前一个值的和
首先
pre+0=1+0
1+2=3
3+4=7
7+5=12
12+6=18
18+9=27

高阶函数的简写
例如
一个数组arr 找出小于100的数 进行乘以2,再求和
可以简写

const  arr=[10,20,50,40,30,120,111,450]
let   x=arr.filter(n=>n<100).map(n=>n*2).reduce((pre,n)=>pre+n)
x//300

相关文章

  • Kotlin Function vs Lambda

    函数定义方式: Lambda定义方式: 高阶函数定义: 高阶函数使用:

  • 快速上手 Kotlin 开发系列之高阶函数和内联

    本节讨论 Kotlin 高阶函数以及内联的使用 高阶函数 高阶函数就是指函数或者 Lambda 的参数又是一个函数...

  • Python常用高阶函数map、sorted、filter及生成

    先说什么是高阶函数,高阶函数是指可以接受函数作为参数、或者可以把函数作为结果返回的函数,这种函数就是高阶函数。使用...

  • Javascript学习笔记——8.8 函数式编程

    使用函数处理数组 用循环的写法 使用map和reduce 高阶函数 所谓高阶函数,就是操作函数的函数,它接受一个或...

  • Python 学习笔记 064

    续前节 Python高阶函数 filter的使用 功能 过滤器 filter的使用 示例 高阶函数-sorted...

  • wangyanhua--python2

    基本函数的使用 匿名函数 常用系统高阶函数 高阶函数 常用系统高阶函数 Python递归 安装第三方库 三国小说人...

  • Swift - 高阶函数map、flatMap、filter、r

    Swift 提供了如下几个高阶函数:map、flatMap、filter、reduce。使用高阶函数进行函数式编程...

  • Python之函数三

    1.高阶函数 1.1高阶函数简介和特点 接受函数作为参数,或者将函数作为返回值的函数就是高阶函数(当我们使用一个函...

  • 数组的高级操作

    Swift提供了如下几个高阶函数:map、flatMap、filter、reduce。使用高阶函数进行函数式编程不...

  • 函数式编程

    高阶函数(higher order function) 函数式编程的特点之一是使用高阶函数.接受函数为参数,或者把...

网友评论

      本文标题:高阶函数的使用

      本文链接:https://www.haomeiwen.com/subject/icggahtx.html