本文摘取和翻译自Medium文章:Map, Filter and Reduce – Animated。
对于Map、Filter和Reduce,我们经常给出很多复杂通过可视化去记忆它们的思路。没有任何以可视化为作为出发点的撸码教学的文章。然而可视化在教学上是扮演着总要的角色的。这也适用于撸码。
即使是和Map、Filter和Reduce打交道了多年,我仍然常常问自己:这是不是生成了原始数组的副本?是否会关联原数组的变化?我将通过制作本次教程解答这些问题。
我希望一旦通过这种可视化的方式,记忆起来会更加简单。
Array.map – 映射所有元素至一个表达式。
![Array.map(): 将 “value + 1” 表达式应用到7 个数字 [1, 2, 3, 4, 5, 6, 7]](https://img.hobairiku.site/blog/js-array-iterator/map.gif)
1] 表达式value +1被应用于每一个原始数组的元素中。
2] .map()返回的是一个被修改的的副本,而对原始数组没有任何影响。
3] 结果:[2,3,4,5,6,7,8](一个新的数组被创建)。
