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