1.filter:数组过滤
filter中可以传入另外一个函数,然后filter会自动回调这个传入的函数,在回调这个函数时,回传递过来3个参数item、index、arr,
这个数组有5个元素,意味着这个函数会被回调5次(也就是在内部实现filter函数的时候他会在内部调5次传入的函数)
//[10,5,11,100,55]
nums.filter(()=>boolean)
var newNums=nums.filter(function(item,index,arr){
return false
})
console.log(newNums)//[]
var newNums=nums.filter(function(item,index,arr){
return item%2===0//偶数
})
console.log(newNums)//[10,110]
2.map:映射
//[10,5,11,100,55]
var newNums=nums.map(function(item){
return item*10
})
console.log(newNums)//[100,50,110,1000,550]
3.forEach:迭代(枚举)(遍历)
无返回值
//[10,5,11,100,55]
var newNums=nums.forEach(function(item){
return item*10
})
4.find:查找(返回item)
//[10,5,11,100,55]
var item=nums.find(function(item){
//return true//10
return item===11//11
})
5.findIndex:查找(返回索引)
//[10,5,11,100,55]
var item=nums.findIndex(function(item){
//return true//10
return item===11//2
})
6.reduce:累加
preValue:上一次的返回值
initalValue:初始化的值(不传默认是0)
//[10,5,11,100,55]
nums.reduce(function(prevValue,item){
return 0
},initalValue)
var total=nums.reduce(function(prevValue,item){
return prevValue+item
},0)
console.log(total)//181