Map/Filter/Reduce 速成课程 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 代码链接

2025-05-24

Map/Filter/Reduce 速成课程

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

代码链接

这最初是在 Twitter 上发布的:https://twitter.com/chrisachard/status/1173750491458789378

您是否听说过 map、filter 和 reduce,但从未真正了解过它们?

这里有一个🔥 map().filter().reduce() 🔥 速成课程供您使用!

1.

map并且可以独立运行,也可以链接filter在一起reduce

它们对数组进行操作并对其进行转换

映射、过滤、归约

2.

filter接受数组并返回一个仅包含符合某些条件的元素的新数组

筛选

3.

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

您可以返回true以将该元素包含在新数组中,或false将其排除

过滤循环遍历元素

4.

想象map一个元素变换函数

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

地图

5.

这可以让你把每个元素转换成新的东西(或保持不变)

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

映射到转换元素

6.

reduce循环遍历数组并让你将元素“收集”到其他东西中(通过运行函数)

您指定该“其他内容”作为第二个参数

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

减少

7.

在每次循环中reduce,你可以获得上一次循环的结果,以及数组中的下一个元素

改变结果,然后返回以供下一次循环迭代

完成后,你就拥有了完整的收藏

减少循环

8.

如果需要的话,回调函数mapfilterreduceall 还可以获取当前索引和整个原始数组

映射、过滤、缩减

9.

现在一起:

链接首先删除你不关心的元素,然后转换filter它们map

或者,

filter首先使用链式reduce过滤列表,然后将其转换为其他内容

链

10.

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

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

有用的成分

代码链接

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

我意识到这可能会令人困惑!

如果我能帮忙的话,请发推文或私信我🙌

 

喜欢这门速成课程吗?
更多内容请访问 Twitter:@chrisachard
以及我的新闻通讯 📬

感谢阅读!

文章来源:https://dev.to/chrisachard/map-filter-reduce-crash-course-5gan
PREV
React Hooks 迷你速成课程 1. 2. 3. 4. 5. 6. 7. 8. 9.
NEXT
🔥 通过 10 条推文学习 React(带钩子)1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 奖励