地图/过滤/减少速成价格

这最初是作为Twitter主题发布的:https://twitter.com/chrisachard/status/1173750491458789378

您是否听说过地图,过滤和减少,但从未真正理解过它们?

这是一个?map()。filter()。reduce()?速成价格给你

1。

mapfilterreduce 都可以独立运作,也可以链接在一起

它们在阵列上运行并对其进行转换

2。

filter 获取数组并返回一个新数组,该数组仅包含与某些条件匹配的元素

3。

它遍历元素,将每个元素传递给回调函数

你可以回来 true 将该元素包含在新数组中,或 false 排除它

4。

考虑到 map 像一个元素转换函数

它循环遍历数组,您可以为数组中的每个点返回一个新元素

5。

这允许您将每个元素转换为新的元素(或保持相同)

类型不必相同:可以返回对象,字符串,数字 – 任何东西

6。

reduce 在数组上循环,然后让你将元素“收集”到其他东西中(通过运行一个函数)

你将第二个参数指定为“别的东西”

这样,您可以将数组“折叠”(缩小)为新数组,对象,数字等。

7。

在每个循环期间 reduce,你可以得到最后一个循环的结果,以及数组中的下一个元素

更改结果,然后将其返回以进行下一次循环迭代

完成后,您将拥有完整的集合

8。

回调功能为 mapfilterreduce 如果需要,all也可以获取当前索引和整个原始数组

9。

现在都在一起了:

filtermap 首先删除你不关心的元素,然后转换它们

要么,

filterreduce 首先过滤列表,然后将其转换为其他内容

10。

那么为什么map,filter和reduce有用呢?

  • 不必手动循环数组
  • 链接在一起进行简短,直接的数组转换
  • 可以重用回调函数并将它们组合在一起

代码链接

以下是一些交互式代码示例:https://chrisachard.com/examples/map-filter-reduce

我意识到这可能令人困惑

如果我可以帮忙,请向我或DM发消息

喜欢这个速成班吗?
在twitter上找到更多:@chrisachard
在我的通讯?

谢谢阅读


资讯来源:由0x资讯编译自DEV,原文:https://dev.to/chrisachard/map-filter-reduce-crash-course-5gan ,版权归作者所有,未经许可,不得转载
你可能还喜欢