JavaScript 中的 `for...of` 循環(huán)語句用于迭代可迭代對象(如數(shù)組、字符串、Set、Map 等)中的元素。它的基本語法如下:
for (variable of iterable) {
// 循環(huán)體代碼
}
下面是 `for...of` 循環(huán)的步驟簡述:
1. 定義一個變量,用于存儲每個迭代的元素。這個變量可以是一個新變量,也可以是一個已經(jīng)存在的變量。
2. 使用 `of` 關(guān)鍵字將變量與要迭代的可迭代對象關(guān)聯(lián)起來??傻鷮ο罂梢允菙?shù)組、字符串、Set、Map 等。
3. 在循環(huán)體中,可以使用定義的變量訪問每個迭代的元素。循環(huán)會迭代可迭代對象中的每個元素,并執(zhí)行循環(huán)體內(nèi)的代碼。
4. 在每次迭代時,變量會自動更新為可迭代對象中的下一個元素,直到遍歷完所有元素為止。
示例:
let arr = [1, 2, 3];
for (let element of arr) {
console.log(element);
}
在上面的示例中,`for...of` 循環(huán)迭代了數(shù)組 `arr` 中的每個元素,并將每個元素打印出來。
需要注意的是,`for...of` 循環(huán)只能用于迭代可迭代對象,并且只能訪問對象的元素值,而不能訪問索引或其他屬性。
如果想要獲取數(shù)組或類數(shù)組對象的索引,可以結(jié)合使用 `for...of` 循環(huán)和 `entries()` 方法或使用 `for` 循環(huán)和索引來實現(xiàn)。
let arr = [1, 2, 3];
// 使用 for...of 循環(huán)和 entries() 方法獲取索引和元素值
for (let [index, element] of arr.entries()) {
console.log(index + ": " + element);
}
// 使用 for 循環(huán)和索引獲取元素值和索引
for (let i = 0; i < arr.length; i++) {
console.log(i + ": " + arr[i]);
}
總結(jié)一下,`for...of` 循環(huán)用于迭代可迭代對象中的元素。通過定義一個變量,并將其與可迭代對象關(guān)聯(lián),可以在循環(huán)體中訪問對象的元素值。需要注意的是,`for...of` 循環(huán)只能訪問元素值,而不能訪問索引或其他屬性。如果需要訪問索引,可以結(jié)合使用 `entries()` 方法或使用普通 `for` 循環(huán)來實現(xiàn)。