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) 必需。用于执行每个数组元素的函数。
函数参数:
参数 描述
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
currentIndex 可选。当前元素的索引
arr 可选。当前元素所属的数组对象。
initialValue 可选。传递给函数的初始值

将数组里面的数字相加得到总和

let nums=[1,20,101,152,258,146,32,14,10];
let newNums=nums.reduce(function(pre,n){
return pre+n
})
得到结果: 734