从头使用.map() .filter() 和.reduce()这三个函数,你会有意想不到的收获!


全文共2556字,预计学习时长8分钟

来源:Pexels

世间纷乱复杂,我们在不断给自身做“加法”的同时,也要学会对周围的事物做“减法”,将复杂的东西简化,为我所用,并发挥超出原本程度的增幅效果,这才是真正的“高手”。

 

在“码农圈”,学习如何使用.map()、.filter()和.reduce()函数,我们读到、看到和听到的一切都很复杂,无法理解这些概念,因为它们是独立的学习单元。

 

听说这些是意味着上升至启蒙状态的入门知识。真希望自己听到的是实话:早点明白这三种方法其实都是识别和实现过程,循环遍历迭代的原因通常属于三个功能类别之一。

 

回顾之前编写的代码,笔者发现95%的情况下,在对字符串或数组进行循环时,自己都会执行以下操作之一:将语句序列映射(map)到每个值,过滤(filter)满足特定条件的值,或者将数据集减少(reduce)到单个聚合值。

 

这是取得进步的关键时刻,Map、filter和reduce只需要执行其中的一个任务即可!

来源:Pexels

为了练习,笔者使用这些方法对旧代码进行重构,这真是帮了大忙!

 

言归正传,继续讲解学习内容。本文将解释每种方法,然后将常用 for循环的实现转换为这三个各自的方法。

 

Map

 

.map()方法使用在:1.用可迭代的每个值执行一组语句;2.返回(可能)修改值。                                     

 

用一个简单的示例来计算一系列价格的营业税:

 

const prices = [19.99, 4.95, 25, 3.50];
let new_prices = [];for(let i=0; i < prices.length; i++) {
   new_prices.push(prices[i] * 1.06);
}

用.map()方法可以得出同样的结果:

 

const prices= [19.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值