几种常用的js高阶函数运用
1.filter 关键在于正确实现一个“筛选”函数
filter中的回调函数有一个要求:必须返回一个布尔值
为true 时: 函数内部会自动将这次的回调的n加入新的数组中
为false时: 函数内部会过滤这次的n
实例:
需求:过滤数组中小于100的
const nums = [10, 20,30,441, 255, ]
let newnums = nums.filter(funton (n) {
reurn n < 100
})
console.log(newnums ) 输出//[10, 20,30,]
2.map 对自身做一些操作
需求: 将所有小于100的数字进行转化: 全部乘2
let new2nums = newnums.map(function (n) {
return n * 2
})
console.log(new2nums) 输出 [20, 40, 60]
3.reduce 对数组的内容进行 汇总
let total = new2nums.reduce(function(p,n){
return p + n
},0)
console.log(total) 输出 120
第一次 : p=0 n=20 p为初始化0
第二次 : p=20 n=40 p为 return p+n(0+20)
第二次 : p=60 n=60
输出 120