Vòng lặp lồng nhau
Thuộc phần Kiến thức cơ bản trong hành trình JavaScript của Coddy. Bài học 44 trên 77.
Vòng lặp lồng nhau là một vòng lặp nằm bên trong một vòng lặp khác. Vòng lặp bên trong sẽ hoàn thành tất cả các lần lặp của nó trong mỗi lần lặp của vòng lặp bên ngoài.
Một ví dụ dễ hình dung là chiếc đồng hồ: với mỗi giờ (vòng lặp bên ngoài), kim phút (vòng lặp bên trong) phải hoàn thành trọn vẹn chu kỳ 60 phút.
Ví dụ về vòng lặp lồng nhau:
let rows = 2;
let cols = 2;
for (let x = 0; x < rows; x++) {
for (let y = 0; y < cols; y++) {
console.log(x, y);
}
}
// Đoạn code này sẽ in ra:
// 0 0
// 0 1
// 1 0
// 1 1Vòng lặp bên ngoài (x) chạy rows lần, và trong mỗi lần đó, vòng lặp bên trong (y) chạy cols lần. Mỗi vòng lặp có bộ đếm riêng: y bắt đầu lại từ 0 mỗi khi vòng lặp bên ngoài chạy, còn rows và cols giữ nguyên và chỉ cho các vòng lặp biết khi nào cần dừng.
Thử thách
Người mớiViết chương trình in ra một hình chữ nhật gồm các dấu hoa thị (*) với chiều rộng và chiều cao cho trước.
Đầu vào: Hai số nguyên: width và height (code khởi đầu đã đọc chúng).
Ví dụ:
Nếu width = 5 và height = 3, đầu ra sẽ là:
*****
*****
*****Nếu width = 4 và height = 6, đầu ra sẽ là:
****
****
****
****
****
****Dùng một biến đếm mới cho mỗi vòng lặp (ví dụ: i cho các hàng và j cho các dấu hoa thị trong một hàng), rồi so sánh biến đó với height hoặc width. Đừng thay đổi chính height và width: mỗi hàng cần dùng lại width.
Tự làm thử
let width = parseInt(inp[0]); // Đừng thay đổi dòng này
let height = parseInt(inp[1]); // Đừng thay đổi dòng này
// Viết code bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
8Vòng lặp
Vòng lặp forVòng lặp whileThoát vòng lặpBỏ qua lần lặpÔn tập: giai thừaVòng lặp do whileVòng lặp lồng nhau3Toán tử phần 1
Toán tử số họcToán tử moduloPhép tính số học rút gọnToán tử so sánhSo sánh bằng nghiêm ngặt và không nghiêm ngặtÔn tập: phép tính đơn giản6Nhập xuất cơ bản
Đầu raĐầu ra với biếnChuyển đổi kiểu dữ liệu, phần 1Chuyển đổi kiểu dữ liệu, phần 2Ôn tập đến 120Ôn tập: đúng hay saiTự luyện tập: Trình biên dịch JavaScript online