javascript高阶函数---filter---map---reduce

javascript高阶函数—filter—map—reduce

高阶函数就是给函数传入的参数就是一个函数,例如

filter(function(){.....})

这里就以数组为例

  1. filter用法
    filter的汉语意思就是过滤的意思,在数组中就是将不满足条件的数据过滤掉。过滤后的数组元素存放在新的数组中。
    例子:
 <script>
    let arr_1=[10,12,34,56,100,120,222];
    let arr_2=arr_1.filter(function(item){
     
      return item<100;
    })
    console.log(arr_2);
  </script>

这里的return就是将满足条件的值,返回到数组中。

  1. map用法
    map函数就是对数组中的元素进行相关的操作
    例子:
 <script>
    let arr_1=[10,12,34,56,100,120,222];
    let arr_2=arr_1.map(function(item){
     
      return item*2
    })
    console.log(arr_2);
  </script>
  1. reduce用法
    reduce可以传入两个参数,一个是函数,另一个是起始值。
    函数中的参数也有两个fun(previous,now),一个是前一个值,另一个是当前值。讲到这里大家可能不是特别理解,下面举一个例子:
<script>
    let arr_1=[10,12,34,56,100,120,222];
    let arr_2=arr_1.reduce(function(previous,now){
     
      return previous+now;
    },0)
    console.log(arr_2);
  </script>

这里的最终返回值是554。就是令previous这个参数为第二个参数的值,也就是0,然后执行previous+now,这里的now是从第一个开始遍历的,然后将加起来的值,再赋值给previous,这样就实现累加的效果。

你可能感兴趣的:(函数,高阶函数,javascript,filter,vue,js)