Array中的map(),filter()和reduce()
一、map()
map用于遍历数组中每一项的值,进行一系列的操作。
constprices=[19.99,4.95,25,3.50];
letnew_prices=[];
for(leti=0;i<prices.length;i++){
new_prices.push(prices[i]*1.06);
}
用map来书写会简单许多:
constprices= [19.99,4.95,25,3.50];
letnew_prices = prices.map(price=>price *1.06);
二、filter()
fiter用于筛选数组中符合条件的值。
constnumbers=[1,2,3,4,5,6,7,8];
letodds=[];
for(leti=0;i<numbers.length;i++){
if(numbers[i]%2==1){
odds.push(numbers[i]);
}
}
用filter来书写会简单许多:
constnumbers=[1,2,3,4,5,6,7,8];
letodds=numbers.filter(num=>num%2);
三、reduce()
reduce是一个累加器,用于累加整个数组的值,可以有一个初始值。
constdonations=[5,20,100,80,75];
lettotal=10;
for(leti=0;i<donations.length;i++){
total+=donations[i];
}
用reduce来书写会简单许多:
constdonations=[5,20,100,80,75];
lettotal=donations.reduce((total,donation)=>{
returntotal+donation;
},10);
网友评论