Chúng tôi sử dụng câu lệnh vòng lặp for của JavaScript để lặp lại một tập hợp các câu lệnh bên trong thân vòng lặp một số lần được chỉ định. Một vòng lặp for lồng nhau, như tên cho thấy, được tạo thành từ nhiều vòng lặp for, cái này lồng vào trong cái kia. Điều này cho phép chúng tôi lặp qua các cấu trúc dữ liệu đa chiều như ma trận
Vòng lặp lồng nhau trong JavaScript
Một vòng lặp for đơn giản thực hiện một số lần xác định tùy thuộc vào giá trị khởi tạo và điều kiện kết thúc. Mặt khác, một vòng lặp for lồng nhau, nằm trong một hoặc nhiều vòng lặp for bên trong một vòng lặp for bên ngoài
cú pháp
for[let i = 0 ; i < limit; i++]{ // statement }
Điều này tạo ra một vòng lặp for đơn giản thực hiện số lần giới hạn. Điều này có nghĩa là nó thực thi các câu lệnh bên trong thân vòng lặp số lần giới hạn
Trong một vòng lặp lồng nhau, câu lệnh bên trong thân vòng lặp for lại là một vòng lặp for. Điều này làm cho vòng lặp for bên trong thực thi xuyên suốt , cho mỗi lần lặp của vòng lặp for bên ngoài
for[let i = 0 ; i < limit; i++]{ for[let j = 0 ; j < limit; j++]{ // statement } // statement for outer loop }
Vòng lặp bên trong trong ví dụ này chạy giới hạn số lần cho mỗi lần lặp của vòng lặp bên ngoài. Vì vậy, tổng cộng, vòng lặp chạy giới hạn x số lần giới hạn
Giá trị khởi tạo, điều kiện kết thúc cũng như cập nhật biến vòng lặp cho cả hai vòng lặp là độc lập với nhau
Hãy xem hoạt động của vòng lặp for lồng nhau với một ví dụ
ví dụ 1
Ở đây chúng ta sẽ tạo một ma trận hai chiều của "#" bằng cách sử dụng các vòng lặp for lồng nhau
Hãy nhìn vào mã cho cùng
The nested for loop in JavaScript
Enter number of rows and columns to create matrix
Rows :
Columns :
Trong đoạn mã trên, chúng tôi đang lấy đầu vào cho số lượng hàng và cột, sau đó sử dụng vòng lặp lồng nhau để tạo ma trận đã chỉ định. Lưu ý rằng điều kiện kết thúc của vòng lặp bên ngoài quyết định số lượng hàng trong ma trận và của vòng lặp bên trong xác định số lượng cột
Các tham số [giá trị khởi tạo, điều kiện kết thúc, cập nhật] của vòng lặp có thể được điều chỉnh để sử dụng các vòng lặp lồng nhau để thực hiện hầu hết mọi loại truyền tải lồng nhau
Hãy cho chúng tôi thấy việc sử dụng các vòng lặp lồng nhau để in một kim tự tháp
ví dụ 2
Ở đây chúng ta sẽ tạo một kim tự tháp bằng ký hiệu * và chiều cao do người dùng cung cấp. Hãy nhìn vào mã cho cùng
Trong đoạn mã trên, như có thể nhìn thấy trong đầu ra, khi thay đổi các tham số vòng lặp, chúng ta có thể hình dung nhiều mẫu truyền tải khác nhau
Lưu ý rằng vòng lặp bên ngoài [vòng 1] trong chương trình quyết định chiều cao của kim tự tháp. Vòng lặp bên trong đầu tiên [vòng lặp 2] quyết định số lượng ký tự khoảng trắng ở đầu mỗi hàng. Vòng lặp bên trong thứ hai [vòng lặp 3] in nhiều ký tự * bằng chiều cao của kim tự tháp trong lần lặp hiện tại
Các vòng lặp lồng nhau là một mẫu mã hóa cho phép bạn thực hiện mã lặp bên trong vòng lặp đầu tiên. Bạn có thể có một vòng lặp
for[let i = 0 ; i < limit; i++]{ for[let j = 0 ; j < limit; j++]{ // statement } // statement for outer loop }7 thông thường như thế này
for [let i = 0; i