JavaScript for…of Loop

2025年4月16日 | 阅读 4 分钟

引言

JavaScript for…of 循环遍历的是对象的值而不是其键。使用循环,您可以直接访问元素,而不是通过索引引用。

这是一个现代的迭代语句,它在 ECMAScript 2015(ES6) 中引入。它适用于可迭代对象,如 数组字符串Map、Set 等。

与传统的 for 或 for…in 循环相比,JavaScript for…of 循环是遍历可迭代对象元素的更好选择,尤其是在我们有 break 或 continue 语句时。

JavaScript for…of Loop 语法

for…of 循环的语法如下

iterable: 可迭代对象,如数组、Set、字符串等。

variable: 可迭代对象中的一个元素。

JavaScript for…of 配合数组

JavaScript for…of 循环可用于遍历数组。

示例

立即执行

输出

Ani
Affi
Rex

说明

在上面的示例中,for…of 循环用于遍历 students 数组对象并显示其所有值。

JavaScript for…of 配合字符串

在 JavaScript 中,您可以使用 for…of 循环来遍历字符串值。

示例

立即执行

输出

T
p
o
i
n
t

JavaScript for…of 配合 Map

您还可以使用 JavaScript for…of 循环遍历 Map 元素。

示例

立即执行

输出

name- Ash
age- 21

JavaScript for…of 配合 Set

您还可以使用 JavaScript for…of 循环遍历 Set 元素。

示例

立即执行

输出

11
22
33
44
55

在 for…of 循环中嵌套 for 循环

在此方法中,一个 for 循环 嵌套在 for…of 循环中。for…of 循环遍历数组等可迭代对象,而内部的 for 循环可以为每个元素执行额外的迭代。

语法

在 for…of 循环中嵌套 for 循环的语法如下

 

示例

立即执行

输出

Value: 1
  Value plus 1: 2
  Value plus 2: 3
  Value plus 3: 4
Value: 2
  Value plus 1: 3
  Value plus 2: 4
  Value plus 3: 5
Value: 3
  Value plus 1: 4
  Value plus 2: 5
  Value plus 3: 6

 

示例

立即执行

输出

Multiplication Table of 2:
  2 x 1 = 2
  2 x 2 = 4
  2 x 3 = 6
Multiplication Table of 3:
  3 x 1 = 3
  3 x 2 = 6
  3 x 3 = 9
Multiplication Table of 4:
  4 x 1 = 4
  4 x 2 = 8
  4 x 3 = 12

JavaScript for…of Loop 的特性

简单性

JavaScript for…of 循环为遍历元素提供了简洁明了的语法,这减少了出错的可能性,并使代码更易于阅读和维护。

多功能性

在 JavaScript 中,for…of 循环可以遍历任何可迭代对象,如数组、字符串、Set,甚至自定义的可迭代对象,这在处理各种数据结构时提供了更好的灵活性。

直接访问元素

与 forEach() 不同,forEach() 需要一个 回调函数,for…of 循环在循环体中直接访问元素,这允许更简单的代码结构并对每个元素立即采取行动。

控制流

在 JavaScript 中,for…of 循环可以使用 break、continue 或 return(在函数内部使用时)来提前终止;与 forEach() 不同,它提供了对迭代过程的更好控制。

for…of 和 for…in 的区别

for…offor…in
JavaScript for…of 循环用于遍历可迭代对象的**值**。JavaScript for…in 循环用于遍历对象的**键**。
for…of 循环不能用于遍历对象。您可以使用 for…in 遍历数组和字符串等变量,但应避免将 for…in 用于可迭代对象。