Cấu trúc nested for
for (init1; cond1; iter1) { // Outer
for (init2; cond2; iter2) { // Inner
// body
}
}
Luồng thực thi
- Outer init 2. Outer condition → False → End 3. Inner init 4. Inner condition → False → Outer iteration → back to 2 5. Inner body 6. Inner iteration → back to 4 7. Outer iteration → back to 2
Sơ đồ flowchart (text)
+----------+
| OUTER INIT |
+----------+
|
v
+--------------+ False +--------+
| OUTER COND? | ------> | END |
+--------------+ +--------+
| True
v
+----------+
| INNER INIT |
+----------+
|
v
+--------------+ False +----------------+
| INNER COND? | ------> | OUTER ITERATION|
+--------------+ +----------------+
| True ^
v |
+----------+ |
| INNER BODY| |
+----------+ |
| |
v |
+----------------+ |
| INNER ITERATION| ------------+
+----------------+
Ví dụ code
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
console.log(i, j);
}
}
// (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) (2,0) (2,1) (2,2)
Hình ảnh tham khảo: https://vn.wsxdn.com/UploadFiles_2724/202203/2022033110060691.jpg