js高阶函数——filter/reduce/map的作用及使用

1、filter——回调函数(有一个要求,必须返回一个布尔值)

当返回true时,函数内部会自动将这次回调的n加入到新的数组中
当返回的是false时,函数内部会过滤掉这次的n

//定义一个数组方便后续的使用
const nums = [10,20,30,40,50,60,253,458,112];
//取出小于100的数
let newNums = nums.filter(function(n){
	return n<100
});
						
//结果是[10,20,30,40,50,60]

2、map——映射函数

对n进行处理,返回处理后的n加入到新数组中

//将小于100的数乘以2
let new2Nums = newNums.map(function(n){
	return n*2
});
console.log(new2Nums);

//返回结果[20, 40, 60, 80, 100, 120]

3、reduce——汇总函数

传的值为两个,一个是上一次汇总的值,一个是要加上的新值n

//对上面得到的新数组中所有内容进行汇总
let new3Nums = new2Nums.reduce(function(prevalue,n){
	return prevalue + n
},0/*初始化值*/); 
console.log(new3Nums);

//prevalue 是上一次汇总的的值
//返回的结果是 420

三个函数的联合使用

如果想要实现将满足要求的元素直接存储到一个新的数组中可以将三个函数联合使用得到最终结果。

let newNums = nums.filter(function(n){
	return n<100
}).map(function(n){
	return n*2
}).reduce(function(prevalue,n){
	return prevalue + n
},0); 
console.log(newNums);

//最终结果420

这三个高阶函数是我们在日常使用中经常会用到的函数,合理的使用可以简化我们的代码,方便我们的操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值