📜  boucle for of javascript (1)

📅  最后修改于: 2023-12-03 14:59:34.022000             🧑  作者: Mango

Javascript中的for...of循环

在 Javascript 中,我们可以使用 for...of 循环来遍历各种类型的可迭代对象,例如数组、字符串、Set 和 Map。

语法

for...of 循环的语法如下:

for (variable of iterable) {
  // 计算代码块
}

其中,variable 是每次迭代中的变量名,iterable 是一个可迭代对象。

示例

下面的例子展示了如何在数组中使用 for...of 循环:

const arr = [1, 2, 3];
for (const item of arr) {
  console.log(item);
}

输出:

1
2
3

我们还可以在字符串中使用 for...of 循环:

const str = "Hello";
for (const char of str) {
  console.log(char);
}

输出:

H
e
l
l
o

对于 Set 和 Map 类型,也可以使用 for...of 循环进行遍历:

const set = new Set([1, 2, 3]);
for (const item of set) {
  console.log(item);
}
// 输出:1 2 3

const map = new Map([['a', 1], ['b', 2], ['c', 3]]);
for (const [key, value] of map) {
  console.log(`${key}: ${value}`);
}
// 输出:a: 1 b: 2 c: 3
注意事项

使用 for...of 循环需要注意以下几点:

  • 可迭代对象必须提供一个 Symbol.iterator 方法用于返回迭代器。
  • 在对象字面量语法中,不能使用 for...of 循环,因为对象字面量不是可迭代的。
  • 在 Map 类型中,for...of 循环返回的是一个包含键值对数组的数组。
  • 在字符串中使用 for...of 循环时,每次返回的是一个字符而不是一个字符编码(与 for...in 循环不同)。
结论

for...of 循环是 Javascript 中一个非常方便的工具,可以用于遍历多种类型的可迭代对象。它提供了一种简单易用的方式来处理数组、字符串、Set 和 Map 等类型的数据。