filter/map/reduce
1.filter
filter的回调函数中,n为filter自动返回的,n为数组中每一个对象
filter的回调函数要求返回一个boolean值
返回true时,函数内部会自动将n加入到新的数组中
false时,函数内部不会将n加入到新的数组中
const nums = [10,34,57,200,230]
let newnums = nums.filter(function(n){
//返回nums中所有大于100的数
return n>100;
})
2.map
const nums = [10,34,57,200,230]
使得数组中所有数乘以2
使用map很简单可以实现
let newnums = nums.map(function(n){
return n*2;
})
3.reduce
//作用:对数组中的所有内容进行汇总
const newnums = [20,40,80,100]
let total = newnums.reduce(function(preValue,n){
return preValue+n
}, 0)
reduce第一个参数是函数,函数中有两个参数,第一个参数preValue是
函数return上次返回的值,第二个参数n是函数中的每一项值
reduce第二个参数是初始值,是preValue的初始值,上面例子是0
第一次执行 preValue=0 n=20
第二次执行 preValue=20 n=40
第三次执行 preValue=60 n=80
第四次执行 preValue=140 n=100
所以最终total = 240