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.
如果需要的话,回调函数map
、filter
和reduce
all 还可以获取当前索引和整个原始数组
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