在 JavaScript 中,for 循環(huán)是一個(gè)常用的控制結(jié)構(gòu),可以讓程序按照一定的規(guī)律重復(fù)執(zhí)行一組語句。當(dāng)需要嵌套多個(gè)循環(huán)時(shí),就需要使用雙重 for 循環(huán)語句了。
雙重 for 循環(huán)語句的基本結(jié)構(gòu)如下:
for (let i = 0; i < outerLength; i++) {
for (let j = 0; j < innerLength; j++) {
// 內(nèi)部循環(huán)代碼
}
// 外部循環(huán)代碼
}
雙重 for 循環(huán)語句包含兩個(gè)循環(huán)控制變量,一個(gè)用于外層循環(huán),一個(gè)用于內(nèi)層循環(huán)。在每次外層循環(huán)開始時(shí),內(nèi)層循環(huán)都會(huì)從頭開始,直到完成全部循環(huán)。外層循環(huán)和內(nèi)層循環(huán)都可以使用 break 和 continue 控制語句來中斷循環(huán)或跳過某些迭代。
雙重 for 循環(huán)語句經(jīng)常用于嵌套數(shù)組或?qū)ο蟮谋闅v操作。例如,我們可以使用雙重 for 循環(huán)來遍歷一個(gè)二維數(shù)組,對(duì)數(shù)組中的每一個(gè)元素進(jìn)行操作:
const matrix = [ [1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
console.log(matrix[i][j]);
}
}
在這個(gè)例子中,外層循環(huán)遍歷了數(shù)組 matrix 中的每一個(gè)元素(即數(shù)組 [1, 2, 3]、[4, 5, 6] 和 [7, 8, 9]),內(nèi)層循環(huán)遍歷了每一個(gè)數(shù)組元素中的子元素(即數(shù)字 1 到 9)。
雙重 for 循環(huán)語句的時(shí)間復(fù)雜度通常是 O(n^2),其中 n 是要遍歷的元素個(gè)數(shù)。因此,在實(shí)際應(yīng)用中,要盡可能避免使用多層嵌套的循環(huán),以提高程序的效率和性能。