高阶函数的使用

高阶函数的使用

高阶函数 – 函数本身的参数也是一个函数
filter/map/reduce
filter中的回调函数有一个要求:必须返回一个boolean值。
如果为true时,函数内部会自动将这次回调的n加入到新的数组中;如果返回的是false,则函数内部会过滤掉本次的n。

函数使用的示例代码:

// 1.filter函数的使用
const nums = [1,22,11,3,300];
// n是nums数组中的元素
let newNums = nums.filter(function (n) {
	return n < 100; // 将大于100的元素加入到newNums新数组中
})

// 2.map函数的使用
// map() 不会改变原始数组
let new2Nums = newNums.map(function(n) {
	return n * 2; // 将newNums数组中的每一个元素n,乘以2后,返回至new2Nums数组
})

// 3.reduce函数的使用
// 作用:对数组中所有的内容进行汇总
let total = new2Nmus.reduce(function (preValue, n) {
	return preValue + n
},0)
// numsNums = [2,44,22,6]
// 第1次: preValue=0; n=2
// 第2次: preValue=0+2=2; n=44
// 第3次: preValue=2+44=46; n=22
// 第4次:preValue=46+22=68; n=6


简易写法

let total = newNums.filter(function (n) {
	return n < 100;
}).map(function (n) {
	return n * 2;	
}).reduce(function (preValue, n) {
	return preValue + n;
},0)

更简易写法:

let total = newNums.filter(n => n < 100).map(n => n*2).reduce((preValue, n) => preValue + n, 0);
// 或者 map函数里的操作,可以放到reduce函数里
let total = newNums.filter(n => n < 100).reduce((preValue, n) => preValue + n * 2, 0);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值