Vòng lặp lồng nhau với mảng 2 chiều
Thuộc phần Logic và luồng chương trình trong hành trình JavaScript của Coddy. Bài học 8 trên 65.
Khi làm việc với mảng 2D, chúng ta thường dùng các vòng lặp lồng nhau để duyệt từng hàng và từng cột, nhờ đó có thể truy cập hoặc sửa đổi mọi phần tử trong mảng.
Đây là cấu trúc thường gặp của các vòng lặp lồng nhau khi làm việc với mảng hai chiều:
const seats = [
[true, true, false],
[true, false, true]
];
for (let r = 0; r < seats.length; r++) {
// Vòng lặp ngoài duyệt qua các hàng
for (let c = 0; c < seats[r].length; c++) {
// Vòng lặp trong duyệt qua các cột
// Bạn có thể truy cập seats[r][c] tại đây
}
}Vòng lặp ngoài duyệt qua các hàng, còn vòng lặp trong duyệt qua các cột của từng hàng. Nhờ vậy, bạn có thể truy cập từng phần tử trong mảng hai chiều bằng cách dùng array[r][c].
Thử thách
DễTạo một hàm có tên countOccurrences, nhận vào một mảng hai chiều gồm các chuỗi matrix và một chuỗi target. Hàm này sẽ trả về số lần target xuất hiện trong tất cả các hàng và cột.
Tự làm thử
function countOccurrences(matrix, target) {
// TODO: Viết logic đếm số lần 'target' xuất hiện trong matrix
}
// Không viết gì bên ngoài hàm (function)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 Logic và luồng chương trình
4JSON phần 2
Duyệt qua JSONJSON lồng nhauOptional chaining trong JSONSao chép nông và sâuÔn tập: Cửa hàng xe đạpÔn tập: Hệ Mặt Trời7Hệ thống quản lý thư viện
Tổng quan dự ánThêm sách10Quản lý hệ thống lễ hội
Tổng quan dự ánThêm phim và địa điểm2Mảng nhiều chiều
Kiến thức cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập về mảng 2 chiềuPhép cộng và phép trừ ma trậnMảng không đềuMảng 3 chiều và hơn nữaCác mẫu thường gặp với mảng 2 chiềuÔn tập về mảng3JSON phần 1
JSON là gì?Kiểm tra khóa có tồn tạiPhương thức của đối tượngToán tử spread phần 1Toán tử spread phần 2Xóa khóaÔn tập: thao tác với khóa trong JSONTự luyện tập: Trình biên dịch JavaScript online