原文: How to Loop Through an Array in JavaScript – JS Iterate Tutorial

数组是一个变量存储不同数据类型的元素。我们可以通过单个变量访问数组。

它是一个有序的值列表,每个值是一个元素,可以通过索引访问。

知道这些单个变量包含元素列表,你可能希望创建这些元素的列表,以便你可以使用它们执行单个功能等等。这就是循环发挥作用的地方。

JavaScript 中的循环是什么

循环是一种计算机程序,它允许我们将特定操作重复预定次数,而无需单独编写该操作。

例如,如果我们有一个数组,想要输出数组中的每个元素,我们可以简单地循环并执行一次该操作,而不是使用索引号一个一个地这样做。

在 JavaScript 中有很多方法可以循环遍历数组。在本文中,我们将介绍最常用的方法,以便你学习不同的方法并了解它们的工作原理。

我们将在本文中使用以下数组:

const scores = [22, 54, 76, 92, 43, 33];

如何在 JavaScript 中使用 While 循环遍历数组

你可以使用 while 循环来评估括在括号 () 中的条件。如果条件为 true ,则执行 while 循环内的代码。如果为 false ,则终止循环。

如果我们想遍历一个数组,可以使用 length 属性来指定循环应该一直持续到我们到达数组的最后一个元素。

现在让我们使用 while 循环方法来循环遍历数组:

let i = 0;
while (i < scores.length) {
    console.log(scores[i]);

这将一个接一个地返回我们数组中的每个元素:

22

在上面的循环中,我们首先初始化了索引号,使其从 0 开始。然后这个数字会不断增加并输出每个元素,直到我们设置的条件返回 false ,说明我们已经到了数组的末尾。当 i = 6 时,将不再执行条件,因为数组的最后一个索引是 5

如何在 JavaScript 中使用 do…while 循环遍历数组

do...while 循环与 while 循环几乎相同,只是它先执行主体,然后再评估后续执行的条件。这意味着循环的主体总是至少执行一次。

让我们用 do...while 循环执行相同的循环,看看它是如何工作的:

let i = 0;
    console.log(scores[i]);
} while (i < scores.length);

这将返回我们数组中的每个元素:

22

如前所述,这将始终在评估任何条件集之前运行一次。例如,如果我们将索引 i 设置为 6 ,并且它不再小于 score.length ,则循环体将在检查条件之前首先运行:

let i = 6;
    console.log(scores[i]);
} while (i < scores.length);

这将返回 undefined ,因为我们在数组中没有索引为 6 的元素,但你可以看到它在停止之前运行了一次。

如何在 JavaScript 中使用 for 循环遍历数组

for 循环是一个迭代语句,它检查某些条件,然后只要满足这些条件就重复执行一段代码。

使用 for 循环方法时,我们不需要先初始化索引,因为初始化、条件、迭代都在括号中处理,如下所示:

for (let i = 0; i < scores.length; i++) {
    console.log(scores[i]);

这将像其他方法一样返回所有元素:

22

如何在 JavaScript 中使用 for...in 循环遍历数组

for...in 循环是一种更简单的遍历数组的方法,因为它为我们提供了键,我们现在可以使用该键以这种方式从数组中获取值:

for (i in scores) {
    console.log(scores[i]);

这将输出我们数组中的所有元素:

22
33

如何在 JavaScript 中使用 for...of 循环遍历数组

for...of 循环遍历可迭代对象,例如数组、集合、映射、字符串等。它与 for...in 循环具有相同的语法,但它不是获取键,而是获取元素本身。

这是循环数组的最简单方法之一,并在 JavaScript ES6 的更高版本中引入。

for (score of scores) {
    console.log(score);

这将获取数组的每个元素,我们不再需要使用索引来获取数组的每个元素:

22

如何在 JavaScript 中使用 forEach 循环遍历数组

数组方法 forEach() 循环遍历任何数组,按索引升序对每个数组元素执行一次提供的函数。此函数被称为回调函数。

这是一种更高级的方法,它可以做的不仅仅是简单地遍历每个元素,你也可以使用它以这种方式循环:

scores.forEach((score) => {
    console.log(score);

你可以这样写成一行:

scores.forEach((score) => console.log(score));

这将为我们提供与所有先前方法相同的输出:

22

总结

在本文中,我们研究了六种不同/标准的遍历数组的方法。

了解所有这些方法,然后确定哪种方法更适合你、更易于使用且更易于阅读,这一点非常重要。

freeCodeCamp 是捐助者支持的 501(c)(3) 条款下具有免税资格的慈善组织(税号:82-0779546)。

我们的使命:帮助人们免费学习编程。我们通过创建成千上万的视频、文章和交互式编程课程——所有内容向公众免费开放——来实现这一目标。

所有给 freeCodeCamp 的捐款都将用于我们的教育项目,购买服务器和其他服务,以及聘用员工。

你可以 点击此处免税捐款 about:blank 是什么意思 打开 .dat 文件 Node 最新版本 反恶意软件服务 Windows10 产品密钥 Git 切换分支 AppData 文件夹 Windows 10 屏幕亮度 JSON 注释 MongoDB Atlas 教程 Python 字符串转数字 Git 命令 更新 NPM 依赖 谷歌恐龙游戏 CSS 使用 SVG 图片 Python 获取时间 Git Clone 指定分支 JS 字符串反转 React 个人作品网站 媒体查询范围 forEach 遍历数组 撤销 Git Add OSI 七层网络 Event Loop 执行顺序 CMD 删除文件 Git 删除分支 HTML 表格代码 Nano 怎么保存退出 HTML5 模板