JavaScript 常见 高阶函数的使用

时间:2021-07-09 00:28:33   收藏:0   阅读:25

其实就是函数来的 ,下面讲常见的几种高阶函数: 三个:

filter / map / reduce

1.Array filter() 方法

如果有数组: let arr = [60,50,105,99,153,125,29]; 如果要把小于100 的过滤出来,那么:

其实这个方法有过滤器的意思,所以就是过滤,他的参数是一个函数,函数的参数就是这个遍历值,其次这个函数一定得返回一个 Boolean 型,为true时 吧这个值返回装进一个新数组,为false则不加入新数组,到最后结束就 把 整个新数组当返回值返回:

  <script>
    let arr = [60,50,105,99,153,125,29];
    //先获取到大于100 的数
    arr = arr.filter(function (item){
        return item < 100;
    });
    
//打印
    for (const number of arr) {
        console.log(number);
    }
  </script>

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

 

2. Array map() 方法  

其实 map 也一样 不会更新数组 他返回的是一个新数组,其次,他对每个元素进行遍历,他返回的不是布尔型,返回什么都可以,你返回什么 我就往里面装什么:

  <script>
    let arr = [60,50,105,99,153,125,29];
    //直接遍历 然后每个元素*2 然后更新数组即可
    arr = arr.map(function (item){
        return item *= 2;
    });

//打印
    for (const number of arr) {
        console.log(number);
    }
  </script>

因为他有这个特性,所以他可以直接放入方法:

var numbers = [4, 9, 16, 25];

function myFunction() {
    x = document.getElementById("demo")
    x.innerHTML = numbers.map(Math.sqrt);
}

可以看出 Math.sqrt是个球平方根的函数,是的 他是一个函数! 仔细想想即可。

 

原文:https://www.cnblogs.com/bi-hu/p/14988217.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!