js高阶函数的使用 ( filter(),map(),reduce() , )

记录一下高阶函数的使用;

三个高阶函数的求值;

一个有趣的题目,很好玩的,可以慢慢拆解下


const num1=[1231,10,132,12,12,12,5445,55];
let sum=num1.filter(n=> n<100).map(n=>n*2).reduce((pre,n)=>pre+n  ,0)
console.log(sum);

1.filter():
其中包含多个个循环,可以方便过滤数组,条件求值

//  const num1=["12","123","158","54","78","88"];
 const num1=[1231,10,132,12,12,12,5445,55];
 // 高阶函数的使用 filter()
 let Newnum= num1.filter((n)=>{
     return n<100;
    
 });
console.log(Newnum);

分别对应两个结果;

结果一:

  [ '12', '54', '78', '88' ]

结果二:

 [ 10, 12, 12, 12, 55 ]

思考:

  • 根据这个特性,可以实现数组的拷贝, 只要将回调函数改成 n=> true,

2.map();
对数组进行***整体***变换


  const num1=["12","123","158","54","78","88"];
// const num1=[1231,10,132,12,12,12,5445,55];
//  map的使用
 let Newnum1= num1.map((n)=>{
    
   return n*2;
});
 console.log(Newnum1);

结果一: 变成了一个数组

[ 24, 246, 316, 108, 156, 176 ]

结果二:

[ 2462, 20, 264, 24, 24, 24, 10890, 110 ]

3.reduce();
可以对数组求和,等拼接 ,传入一个回调函数

第一个值为初始 preValue 的传入;例如 0;

   n=[20,40,80,100];


   n.reduce( (preValue,n)=>{ 
      return 100;      //转入的值
    },0)

在这里插入图片描述
例子:


//  const num1=["12","123","158","54","78","88"];

 const num1=[1231,10,132,12,12,12,5445,55];
let Newnum3= num1.reduce((preValue,n)=>{
    
    return preValue+n;
 },0);
  console.log(Newnum3);

结果一:(简单的拼接)

012123158547888

结果二:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值