JS高阶函数filter/map/reduce使用
一、filter函数的使用
1.必须返回一个boolean值
2.当返回true时,函数内部会自动将这次回调的n加入到新的数组中
3.当返回false时,函数内部会过滤掉这次的n
应用:过滤数组中不满足条件的数据
例: 取出nums数组中小于100的数字
var nums = [10,20,40,123,234,34]
//定义新数组接收过滤出满足条件的数字
var newNums = nums.filter(function(n){
return n1 < 100
})
函数简写: nums.filter(n => n1<100)
二、map函数的使用
1.必须返回一个boolean值
2.当返回true时,函数内部会自动将这次回调的n加入到新的数组中
3.当返回false时,函数内部会过滤掉这次的n
应用:接收数组中做完处理的数据
例: 取出nums数组中小于100的数字
var nums = [10,20,40,123,234,34]
//定义新数组接收过滤出满足条件的数字
var newNums = nums.filter(function(n){
return n1 < 100
})
函数简写:new2Nums.map(n => n2 * 10)三:redoce函数的使用
三、reduce函数的使用
reduce方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
他的参数是一个方法用于执行每个数组元素的函数。 在这个函数中的参数 第一个参数是preValu计算结束后的返回值。第二个参数是当前元素
例:将num数组中的数值全部进行相加
var num = [20,40,80,100];
var tot = nums.reduce(function(preValue,n){
return preValue + n
},0)
console.log(tot)
1
2
3
4
5
函数简写:num.reduce((pre,n) => pre + n)
注意: reduce() 对于空数组是不会执行回调函数的。