📜  for of mdn - Javascript (1)

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

JavaScript for...of 循环

for...of 是一种循环语句,可以用于遍历可迭代对象的元素。for...of 循环可以遍历任意可迭代对象,包括字符串、数组、Set 和 Map 等。

语法
for (variable of iterable) {
  // statement
}

其中:

  • variable:每次迭代的值赋值给的变量。
  • iterable:要迭代的可迭代对象。
示例
const arr = ['a', 'b', 'c'];
for (const element of arr) {
  console.log(element);
}
// Output: "a" "b" "c"

const str = 'hello';
for (const char of str) {
  console.log(char);
}
// Output: "h" "e" "l" "l" "o"

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

const map = new Map([['key1', 'value1'], ['key2', 'value2']]);
for (const [key, value] of map) {
  console.log(`${key} = ${value}`);
}
// Output: "key1 = value1" "key2 = value2"
注意事项
  • for...of 循环不适用于普通对象,因为它们不是可迭代的。可以使用Object.keys()Object.values()等函数将普通对象转换为可迭代的对象,然后使用 for...of 循环。
  • for...of 循环的索引是指该值的索引属性,而不是迭代器的属性。对于数组来说,索引是从 0 到 arr.length - 1 的整数;对于 Set 来说,索引等于其值,Map 则是键值对。
总结

for...of 循环是一种简洁且可读性强的迭代器,适用于遍历许多不同类型的数据结构,可以帮助程序员节省时间和资源。注意以上注意事项,在使用 for...of 循环时应当注意可迭代对象的类型,避免出现错误。