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)