filter/map/reduce高阶函数
编程范式:面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)
filter/map/reduce
filter中的回调函数·有一个要求:必须返回一个Boolean值
true:当返回true时,函数内部会自动将这次会掉的n加入到新的数组中
false:当返回false时,函数内部会过滤掉这次的n
例子
const nums=[10,20,111,222,444,40,50]
要求:
1.首先通过过滤,取出数组里大于100的数
2.将取出之后的数*2
3.把最后的结果进行汇总
1.箭头函数的写法
let total=nums.filter(n=>n<100).map(n=>n*2).reduce((pre+n);
console.log(total);
2.函数式编程方式
let total=num.filter(function(n){
return n<100
}).map(function(n){
return n*2
}).reduce(function(preValue,n){
return preValue+n
},0)
console.log(total)
3.高阶函数的使用
1.filter函数的使用
let newNums=nums.filter(fucntion(n){
return n<100
})
console.log(newNums)
2.map函数的使用
let newNums2=newNums.map(function(n){
return n*2
})
console.log(newNums2)
3.reduce函数的使用
let total=newNums.reduce(fucntion(preValue,n){
return preValue+n
},0)
console.log(total)