filter
filter即过滤,filter() 指创建一个新的数组,新数组中的元素是原数组中所有符合条件的元素。
filter回调函数要求必须返回一个boolean值
当返回的布尔值为true时,函数内部会自动将回调的值加入数组中
当返回的布尔值为false时,函数内部会过滤掉该值
const num = [10, 111, 14, 333, 23, 56, 67, 40, 222, 1000];
let filterArr = num.filter(function(n){
return n<100
})
map
map() 返回一个新数组,新数组中的元素为原数组中元素调用函数处理后的值
let mapArr = filterArr.map(function (n) {
return n * 2
})
reduce
reduce() 接收一个函数作为累加器,它可以对数组中所有内容进行汇总
let total = mapArr.reduce(function (preValue, n) {
return preValue + n
}, 0)
简便写法
let totalTwo = num.filter(n => n < 100).map(n => n * 2).reduce((pre, n) => pre + n);