foreach 作为一个无返回值的遍历而言应用的场景很普遍
假设有一个工具箱,foreach完成的就是告诉工具箱的每个工具需要干什么
tool.forEach( (todo) => {
todu.pickUpSoap(); //具体的工作
});
map 遍历构成返回一个新的数组
通俗的来说就是你有一个新的容器, 然后将你原有篮子里的苹果(假设苹果对应的有每个人的名字,编号)一个个都按顺序丢进去。结束的时候你回得到一个完整的按顺序排列的新容器(里面是所有丢进去的苹果)
let box = apple.map((item)=> {
return item.name + item.code;
});
**reduce ** 遍历并完成一次求和的过程
通俗的来说就是完成一次按顺序的遍历累加,例如你有一个钱包里面有很多不同面值的钱,需要知道你一共有多少钱的过程
let totalMoney = wallets.reduce( (countedMoney, wallet) => {
return countedMoney + wallet.money;
}, 0);
**filter ** 遍历根据指定规则完成一次全员的筛查过程
通俗来讲 比如我们需要做核酸,一栋楼里有150个人,我们需要将其中的20个人作为居家隔离来区别,剩下的人做普筛。 我们只需要传入这个20个人的共同特征(健康码黄色)就会得到一个新的 20人的集合
let codeLve=60//绿色
let yewMan = allPople.filter(function (item) {
return item.code > 60 ; //黄色
});
需要明确一点map 和 filter 都是 immutable methods,它们只会返回一个新数组,而不会改变原来的那个数组