JavaScript 中的 `for...of` 循环语句用于迭代可迭代对象(如数组、字符串、Set、Map 等)中的元素。它的基本语法如下:
for (variable of iterable) {
// 循环体代码
}
下面是 `for...of` 循环的步骤简述:
1. 定义一个变量,用于存储每个迭代的元素。这个变量可以是一个新变量,也可以是一个已经存在的变量。
2. 使用 `of` 关键字将变量与要迭代的可迭代对象关联起来。可迭代对象可以是数组、字符串、Set、Map 等。
3. 在循环体中,可以使用定义的变量访问每个迭代的元素。循环会迭代可迭代对象中的每个元素,并执行循环体内的代码。
4. 在每次迭代时,变量会自动更新为可迭代对象中的下一个元素,直到遍历完所有元素为止。
示例:
let arr = [1, 2, 3];
for (let element of arr) {
console.log(element);
}
在上面的示例中,`for...of` 循环迭代了数组 `arr` 中的每个元素,并将每个元素打印出来。
需要注意的是,`for...of` 循环只能用于迭代可迭代对象,并且只能访问对象的元素值,而不能访问索引或其他属性。
如果想要获取数组或类数组对象的索引,可以结合使用 `for...of` 循环和 `entries()` 方法或使用 `for` 循环和索引来实现。
let arr = [1, 2, 3];
// 使用 for...of 循环和 entries() 方法获取索引和元素值
for (let [index, element] of arr.entries()) {
console.log(index + ": " + element);
}
// 使用 for 循环和索引获取元素值和索引
for (let i = 0; i < arr.length; i++) {
console.log(i + ": " + arr[i]);
}
总结一下,`for...of` 循环用于迭代可迭代对象中的元素。通过定义一个变量,并将其与可迭代对象关联,可以在循环体中访问对象的元素值。需要注意的是,`for...of` 循环只能访问元素值,而不能访问索引或其他属性。如果需要访问索引,可以结合使用 `entries()` 方法或使用普通 `for` 循环来实现。