函数中的高阶函数 filter map reduce

1.我们以前大多数时候对于数组的处理都是使用的for循环或者for in 循环 或者for of 循环 或者foEach循环,很多时候对于处理数组的一些需要比较复杂冗长,所以js中有很多的函数可以代替以前的for循环来实现更好更多更快的功能,filter map reduce依次列举一下他们的作用以及使用方法代码如下:

<script>
  const arr = [1, 12, 4, 5, 4, 8, 5, 87, 6, 56, 8, 9];
  //以前的方式循环判断
  //函数中的高阶函数 filter map reduce
  //filter中的回调函数必须返回一个boolean值
  //当返回一个true时,函数内部会自动将这次回调的n加入到新的数组中
  //当返回false时,函数内部会过滤掉这次的N
  //1.filter的使用方法
  // let newarr = arr.filter(function(n){
  //   return n < 100//因为这里返回的是boolean值,当n<100时返回就是true 就会添加至新数组中,当n>100时返回的就是false就不会添加了
  // })
  // console.log(newarr)
  //2.数组中的每一个数都*2使用map函数来实现
  // let arr1 = arr.map(function(n){
  //   return n*2
  // })
  // console.log(arr1)
  //3.reduce函数的使用
  //reduce函数的作用是对数组中所有的内容进行汇总
  // let total = arr.reduce((preValue,n)=>{
  //   return preValue + n 
  // },0)
  // let total = arr.filter((n) => {
  //   return n < 100;
  // }).map((n) => {
  //   return n * 2;
  // }).reduce((prevValue, n) => {
  //   return prevValue + n
  // }, 0)
  //上面的代码等价于下面的代码
  let total = arr.filter(n => n < 100).map(n => n * 2).reduce((pre, n) => pre + n);
  console.log(total)
</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值