filter() 方法
filter() 方法将匹配元素集合缩减为匹配指定选择器的元素;所有匹配该选择器的元素都会包含在结果中。
取出小于100的数字
let nums=[1,20,101,152,258,146,32,14,10];
let newNums=nums.filter(function(n){
return n<100
}
得到的结果: [1, 20, 32, 14, 10]
map() 方法
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
let nums=[1,20,101,152,258,146,32,14,10];
let newNums=nums.map(function(n){
return n*2
})
得到的结果:[2, 40, 202, 304, 516, 292, 64, 28, 20]
reduce()方法
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
注意: reduce() 对于空数组是不会执行回调函数的。
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function(total,currentValue, index,arr) | 必需。用于执行每个数组元素的函数。 函数参数:
|
||||||||||
initialValue | 可选。传递给函数的初始值 |
将数组里面的数字相加得到总和
let nums=[1,20,101,152,258,146,32,14,10];
let newNums=nums.reduce(function(pre,n){
return pre+n
})
得到结果: 734