1. fillter
数组的filter方法,需要传一个回调函数作为参数,回调函数的参数n,就是filter循坏数组时每一次拿到的数组元素,该回调函数会返回一个Boolean,如果为true,代表该元素会被放到最终filter返回的数组中。
filter 不会改变原数组,它返回过滤后的新数组。
let newarr = arr.filter(function(n){
return n<0
}
)
//箭头函数写法
let newarr = arr.filter(n => n<0)
2. map
数组的map方法,需要传一个回调函数作为参数,回调函数的参数n,就是map循坏数组时每一次拿到的数组元素,该回调函数的返回值会被放到最终map返回的数组中。map返回是一个数组。
let newarr = arr.map(function(n){
return n*2
})
//箭头函数写法
let newarr = arr.map(n => n*2)
3. reduce
reduce返回一个值
let arr = [1,2,3,4]
let sum = arr.reduce(function(initvalue,n){
//reduce第二个参数0会作为initvalue传给回调函数
//如果reduce第二个参数没有传,那么将会把数组的第一个元素作为第一个initvalue传给回调函数,
//并且reduce会从索引1的地方开始执行 callback 方法
//n是每次遍历sum取到元素值
//回调函数的return的值会作为initvalue传给下一次回调函数的执行
return initvalue+n
})
console.log(sum);