十日谈 :javascript高阶函数

欢迎阅读我的Vue学习日记

函数式编程

编程范式:命令式编程 / 声明式编程
编程范式:面向对象编程 / 函数式编程

filter

filter参数中的回调函数必须返回一个bool值
true:当返回true时,函数内部会自动将这次回调的n加入到新的数组中
false:当返回false时,函数内部会过滤掉这次的n

map

创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

reduce

对数组中内容进行汇总。

reduce(第一个参数(函数形式),第二个参数(函数形式))
第一个参数可以定义一个函数,但必须有一个返回值,这个返回值将加上第二个函数的返回值,然后在进入第一个函数,一直到数组遍历完毕。

三个高阶函数案例演示

给定数组[10,20,111,222,444,40,50]
第一步,取小于100的数
第二步,将他们乘2
第三步,求和

一行代码搞定:

const nums = [10,20,111,222,444,40,50]
let total = nums.filter(function (n) {
  return n<100
}).map(function (n) {
  return n*2
}).reduce(function (prevValue,n) {
  return prevValue + n
},0)

箭头函数更简洁的写法

const nums = [10,20,111,222,444,40,50]
let total2 = nums.filter(n => n<100).map(n => n*2).reduce((pre,n) => pre + n)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值