Js的高阶函数

js高阶函数的学习

编程范式:1.命令式编程(js)2.声明式编程(vue)
3.面向对象编程(java)4.函数式编程–>区别(谁是第一公民,面向对象对象是第一公民,而函数式函数是第一公民,函数式的还可以进行链式编程)

高阶函数:函数本身需要的参数就是一个函数
1.filter
2.map
3.reduce

1.filter(多用于过滤)
filter中的回调函数有一个要求:必须返回一个boolean值(true|false)。
当返回true时,函数就自动将这次回调的n加入到新的数组中。
当返回false时,函数就会将这次回调的n过掉。
写法:
在这里插入图片描述
如果返回的n小于100,那么这个被回调的n就会被放入到newNums这数组中。因为上面的数组中有七个元素,那么这个n呼吁就会被回调7次。

2.map(多用于改变数组中元素的值数据处理)
源码:
在这里插入图片描述
写法:
在这里插入图片描述
注意:如果returen的值固定,那么返回的值也就固定了。

3.reduce(用于进行数据汇总)
源码:
在这里插入图片描述
写法:
在这里插入图片描述
在这里插入图片描述
用法解释:preValue的初始值就是由第二个reduce的参数赋予此刻为0,然后在return中进行累加,因为数组中有4个元素,因此这个参数一函数会进行4次回调,那么第一次又preValue=0+n=20使得preValue的值变成了20,第二次由preValue=20+n=40,如此类推不断累加,直到回调四次完毕以后将最终累加的preValue赋值给total并返回。

三者结合使用:
写法一:
在这里插入图片描述
写法二:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值