高阶函数filter、map、reduce的使用

      //需求:取出所有小于100的数字,然后每个数字乘以2,最后将所有的数字相加求和

      //1.filter过滤函数,回调函数必须返回一个bool值,返回true时将n加到新数组内,false时过滤掉这个n
      
      let num1 = this.num.filter(function(n){
        return n<100;
      })
      console.log(num1);
      
      //2.map遍历函数
      let num2 = num1.map(function(n){
        return n*2;
      })
      console.log(num2);

      //3.reduc对数组中的内容进行汇总:preVaue为上一次遍历的值,0为初始化值
      let num3 = num2.reduce(function(preValue,n){
        return preValue + n;
      },0)
      console.log(num3);

      //filter、map、reduce联合使用
      let total = this.num.filter(function(n){
        return n<100
      }).map(function(n){
        return n*2
      }).reduce(function(pre,n){
        return pre +n
      },0)
      console.log(total);

      //更加精简的写法
      let finalTotal = this.num.filter(n=>n<100).map(n=>n*2).reduce((pre,n)=>pre+n);
      console.log(finalTotal);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值