filter
返回一个新的数组 ==> 是boolean类型的
// 需求:把 arr 数组里小于 40 的全部返回到新的数组里
arr = [10, 20, 30, 40, 50];
let newArr = arr.filter(function(n) {
return n < 40
})
箭头函数的写法:let newArr = arr.filter( n => n<40 )
console.log(newArr); // [10, 20, 30]
map
返回一个新的数组
// 需求:把 arr 数组里的每一个元素都乘以 2 ,再全部返回到新的数组里
arr = [10, 20, 30, 40, 50];
let newArr = arr.map(function(n) {
return n * 2
})
箭头函数的写法:let newArr = arr.map( n => n*2 )
console.log(newArr); //[20, 40, 60, 80, 100]
reduce
传2个值 返回一个 number
// 需求:把 arr 数组里的元素全部相加,再返回到新的数组里
arr = [10, 20, 30, 40, 50];
let newArr = arr.reduce(function(prevValue, n) {
return prevValue + n
}, 0)
箭头函数的写法:let newArr = arr.reduce( (prevValue,n) => prevValue+n )
console.log(newArr); // 150
注:reduce 是传2个值
第一个值:函数,函数里面又是2个值 function( prevValue , n )
第二个值:0