美文网首页
js 高阶函数

js 高阶函数

作者: Rui哥 | 来源:发表于2020-02-24 13:31 被阅读0次

filter map reduce

  • filter 高阶函数的用法

filter 中的回调函数有一个要求:
必须返回一个boolean值
当,返回 true时的, 内部会将这次遍历的元素放入一个新的数组汇总
当,返回false时, 内部会过滤掉当前遍历的元素

const nums = [200, 120, 19, 60, 10, 20, 40,100];
const arr_100 = nums.filter((num)=>{
    //取出 > 100 的数, 放入新数组
        return num > 100
    })
    console.log(arr_100);
  • map 高阶函数的使用

如果需要对数组里面的所有元素进行处理, 得到一个新的数组就可以 使用map
map 函数也是需要一个函数类型的参数

 //const nums = [200, 120, 19, 60, 10, 20, 40,100];
  将 nums 中的所有元素 乘以2 得到一个新的数组
    const arr_map = nums.map((num)=>{
        return num  * 2
    })
    console.log(arr_map);
  • reduce 高阶函数的使用

reduce 对数组中的所有内容进行汇总, 可以把reduce函数理解成一个迭代函数

  1. reduce 函数有2个参数, 第一个是 迭代回调参数,是一个函数类型(有两个参数 previous 和 current)
  2. 第二个参数是初始化参数
  3. 第一个迭代参数, 第一次回调时 previous 就是初始化参数, 后面的每次回调就是 return返回的值
    const arr = [10,20,30,40]
    const  initParam = 1
    let total = arr.reduce((previousItem, currentItem)=>{
        console.log('pre: ' +  previousItem, 'current: +' + currentItem);
        return previousItem + currentItem;
    }, initParam)
    console.log('total: ' +  total);
打印结果:
pre: 1 current: +10
pre: 11 current: +20
pre: 31 current: +30
pre: 61 current: +40

 total: 101
  • filter map reduce 高阶函数综合应用
// 高阶函数 filter map  和 reduce 的综合使用
    const counters = [1,2,3,4,5,6,7,8,9,10];

    let totalCount = counters.filter((count)=>{
        return count%2 == 0
    })  // 取出所有的偶数
    .map((doubleCount)=>{
        return doubleCount * 2;
    }) // 每个偶数 都乘以2
    .reduce((pre, current)=>{
        return pre + current
    },0) // 将所有的偶数 相加
    console.log('总数:  ', totalCount);

相关文章

  • [JS函数] (Array)の高阶函数

    JS函数 高阶函数 高阶函数英文叫Higher-order function。那么什么是高阶函数? JavaScr...

  • 【JS】高阶函数与函数柯里化

    高阶函数 至少满足以下条件的函数: 接受一个或多个函数作为输入 输出一个函数JS高阶函数浅析[https://gi...

  • 高级语法

    高阶函数:以其他函数作为其参数或者返回值的函数。跟JS一样,python提供了部分内置高阶函数 匿名函数:pyth...

  • 高阶组件

    高阶函数:接受一个或多个函数并返回一个函数 JS中,array的map、filter、reduce等方法就是高阶函...

  • python函数式编程

    高阶函数 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。与js相似,与c#中...

  • js高阶函数

    一、函数作为参数传递 1、回调函数 ajax异步请求 2、Array.prototype.sort 二、函数作为返...

  • JS高阶函数

    1.map: var arr=[1,2,3,4]; arr.map(function_name); 这传入的方法会...

  • js高阶函数

    bind可以利用此种特性方便代码重用,如下,可以不同的页面中只需要配置某几项,前面几项固定的配置可以选择用bind...

  • JS 高阶函数

    最近在学习函数式编程,整个 team 都在啃一本叫《Mostly adequate guide》的函数式编程教材,...

  • js高阶函数

    高阶函数将其他函数作为参数或将返回函数作为结果。它们提供了JavaScript中清晰易懂的语法。这将帮助你以更少的...

网友评论

      本文标题:js 高阶函数

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