Logo
Section 1 / 9

简介

你将学习本章包含的主题,其中包括循环语句的使用以及用于循环的数组方法。

导入

简介

你将学习本章包含的主题,其中包括循环语句的使用以及用于循环的数组方法。

我高中时的汽车维修课老师曾用一节新课开始时举起一把大型可调扳手。“有些人认为这就是他们唯一需要的工具,”他说。他演示了如何用这把扳手拧松螺栓、拆下螺丝,甚至像钳子一样撬下垫片。“还有人干脆拿它当锤子用,”说着,他将扳手在空中挥舞了一下。

“但如果你只依赖扳手,就会把螺栓的棱角磨圆,折断风扇叶片,撞凹车身,总之只会让事情变得更糟。”说完,他把扳手放在工作台上。“所以我们要使用专业工具,”他接着向我们展示了如何使用棘轮扳手、扭矩扳手、火花塞间隙规等各类专业工具——这些都是优秀修理工随身携带的必备工具。

JavaScript 中的循环

现在,你即将掌握一套专门用于在 JavaScript 中遍历数据的高效工具。当你选用合适的工具时,代码会更加清晰,也能更准确地传达你的意图。

你几乎肯定已经用过 for 循环。如果要将一个整数数组转换为字符串数组,你可以轻松使用 for 循环实现:只需创建一个空数组,通过 for 循环的索引逐个遍历原数组的值,并将转换后的结果推入新数组。

但你知道这样做会带来问题:你需要跟踪更多变量,会产生数据变异,其他开发者也很难理解你的目的。当你只用一种循环方式时,别人无法一眼判断你是返回原始数组的所有元素,还是仅返回其中一部分;也无法立刻看出你是在转换数据类型,还是将数组改成了对象结构。

如果试图用单一工具解决所有问题,代码就会变得复杂且难以维护。你需要更强大的工具。

本章内容概览

我们将先跳到一个稍后才会深入的部分:箭头函数。箭头函数 能让简单的循环变成一行代码。接下来,你会深入了解数组方法如何简化循环,并学会根据具体需求选择合适的循环方式。随后,我们将逐一学习多种不同的数组方法:从 map() 开始,它能从每个元素中提取相同的信息;再逐步了解一系列专精于单一任务的循环方法,最后介绍最灵活的 reduce(),它可以完成几乎所有类型的处理。最后,我们会探讨更新后的 for...of 和 for...in 循环,它们使用更具语义的变量名,而非索引。

优秀的修理工总能迅速找到合适的工具。编程也是如此。观察优秀的代码,你会发现开发者总是选择最符合其意图的循环方式。这些新式循环需要练习,初看可能有些困惑。但很快,你就能熟练运用,享受代码变得清晰而富有表现力的乐趣。专用工具的存在自有其道理。是时候学习如何正确使用它们了。


首先,请看看 JavaScript 中最受欢迎的新特性之一:箭头函数。

编写清晰的条件语句

技巧 20:使用箭头函数简化循环