三种函数名
- filter
- map
- reduce
一、filter()
filter中的回调函数有一个要求:必须返回一个boolean值。若返回true时,函数内部将自动将这次回调加入新的数组中。filte()实现的是对数组对象中的每个元素进行判别,再把经过筛选后的数组对象返回
filiter()与常规写法
实现:取出所有小于100的数字
const nums =[10,20,111,221,45,12];
let newNums=[];
for (let n of nums){
if(n<100){
newNums.push(n)
}
}
console.log(newNums)let newNums =nums.filter(function(n){
return n<100
})
console.log(newNums)输出结果
二、map()
map()接受一个函数参数,这个函数接受一个数组对象,map()实现的其实是遍历这个数组对象,对数组中每个元素进行操作
map()与常规写法
实现:将所有小于100的数字进行转化,并全部乘以2
let newNums1=[]
for (let n of newNums){
newNums1.push(n*2)
}
console.log(newNums1)let newNums1=newNums.map(function(n){
return n*2
})
console.log(newNums1)输出结果
三、reduce()
reduce()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
reduce()与常规写法
实现:对所得数组进行汇总相加
let newNums2 =0 |
let newNums2= newNums1.reduce(function(preValue,n){ |
输出结果
三种函数结合
const nums = [10, 20, 111, 221, 45, 12]; |
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章