Trước đây tôi đã xuất bản một bài báo về các vòng lặp trong JavaScript có thể được truy cập tại đây. Để đầy đủ, tôi sẽ đưa ra một ví dụ ngắn gọn về vòng lặp for trong JavaScript
const arr = [1, 2, 3, 4, 5, 6];for[let i = 0; i < arr.length; i++] {
console.log[arr[i]];
}//Returns --->1
2
3
4
5
6
- Trong ví dụ trên, chúng ta bắt đầu bằng cách khai báo một biến có tên là arr và gán cho biến này một mảng chứa các số từ một đến sáu
- Tiếp theo, chúng tôi tạo một vòng lặp for, Chúng tôi khởi tạo một biến có tên là i đóng vai trò là bộ đếm cho vòng lặp
- Tiếp theo, chúng tôi sử dụng một điều kiện khi vòng lặp ngừng chạy. Trong trường hợp của chúng tôi, chúng tôi sẽ tiếp tục chạy vòng lặp trong khi i nhỏ hơn độ dài của mảng arr
- Cuối cùng, đối với trình cập nhật, chúng tôi nói rằng mỗi khi vòng lặp chạy, chúng tôi nên tăng i
- Bên trong thân vòng lặp, chúng ta sử dụng console log để in ra phần tử của mảng arr có chỉ số i khi vòng lặp chạy
Kết quả của việc này là mọi phần tử trong mảng arr đều được in ra
Đôi khi bạn có thể thấy mình được trình bày với một cấu trúc dữ liệu phức tạp hơn, chẳng hạn như một mảng lồng nhau. Hãy bắt đầu bằng cách xem điều gì sẽ xảy ra khi chúng ta sử dụng vòng lặp ở trên với kiểu cấu trúc dữ liệu này
const arr = [[1, 2], [3, 4], [5, 6]];for[let i = 0; i < arr.length; i++] {
console.log[arr[i]];
}//Returns --->
[1, 2]
[3, 4]
[5, 6]
Trong ví dụ trên, chúng ta sử dụng vòng lặp for tương tự nhưng lần này mảng arr chứa ba mảng lồng nhau và mỗi mảng lồng nhau chứa hai giá trị. Khi vòng lặp chạy, chúng tôi nhận được từng mảng lồng nhau được trả về. Nếu chúng ta muốn truy cập các phần tử riêng lẻ của các mảng lồng nhau thì sao?
Vòng lồng nhau
Bằng cách sử dụng một vòng lặp lồng nhau, chúng ta có thể truy cập các phần tử riêng lẻ trong các mảng lồng nhau. Hãy xem một ví dụ về cách điều này sẽ hoạt động với ví dụ trên
const arr = [[1, 2], [3, 4], [5, 6]];for[let i = 0; i < arr.length; i++] {
for[let j = 0; j < arr[i].length; j++] {
console.log[arr[i][j]];
}
}//Returns --->1
2
3
4
5
6
Kết quả của vòng lặp lồng nhau của chúng tôi là chúng tôi có thể liệt kê từng phần tử riêng lẻ trong các mảng lồng nhau. Bây giờ hãy phá vỡ những gì đang xảy ra ở đây. Chúng ta đã biết rằng vòng lặp bên ngoài truy cập từng mảng lồng nhau. Khi điều này xảy ra, vòng lặp bên trong sẽ đi qua từng phần tử trong mảng lồng nhau. Vì vậy, nhật ký bảng điều khiển về cơ bản là nói về phần tử mảng của i, là mảng chứa 1 và 2 bằng cách sử dụng j lặp qua các phần tử này. Hãy phá vỡ điều này một chút nữa. Đối với lần lặp đầu tiên của vòng lặp, chúng tôi nhận được như sau
const arr = [[1, 2], [3, 4], [5, 6]];for[let i = 0; i < arr.length; i++] {
console.log[`I am the outer loop ${arr[i]}`] for[let j = 0; j < arr[i].length; j++] {
console.log[`I am the inner loop ${arr[i][j]}`]
}
}//Returns --->
I am the outer loop 1,2
I am the inner loop 1
I am the inner loop 2
Vì vậy, vòng lặp bên ngoài trả về mảng lồng nhau đầu tiên chứa các phần tử 1 và 2. Vòng lặp bên trong sau đó lần lượt lặp qua từng phần tử của mảng lồng nhau. Do đó, chúng tôi nhận được 1 và sau đó chúng tôi nhận được 2
Quá trình này chạy cho toàn bộ mảng mảng lồng nhau. Do đó, đầu ra cuối cùng với các nhật ký bảng điều khiển này ở bên dưới
const arr = [[1, 2], [3, 4], [5, 6]];for[let i = 0; i < arr.length; i++] {
console.log[`I am the outer loop ${arr[i]}`] for[let j = 0; j < arr[i].length; j++] {
console.log[`I am the inner loop ${arr[i][j]}`]
}
}//Returns --->
I am the outer loop 1,2
I am the inner loop 1
I am the inner loop 2I am the outer loop 3,4
I am the inner loop 3
I am the inner loop 4I am the outer loop 5,6
I am the inner loop 5
I am the inner loop 6
Mảng chuỗi
Cách tiếp cận này có thể hữu ích như nhau nếu bạn có một dãy từ và bạn muốn lặp qua từng chữ cái riêng lẻ. Hãy xem một ví dụ
const names = ["Abby", "Bobby", "Freddy"];for[let i = 0; i < names.length; i++] {
console.log[names[i]];
}//Returns --->
Abby
Bobby
Freddy
Sử dụng vòng lặp for, chúng tôi lặp qua mảng tên và chúng tôi có thể truy cập từng phần tử trong mảng tên. Điều này thật tuyệt nhưng nếu bạn muốn truy cập các phần tử riêng lẻ của tên thì vòng lặp lồng nhau là một mẫu rất hữu ích
const names = ["Abby", "Bobby", "Freddy"];for[let i = 0; i < names.length; i++] {
console.log[`I am the outer loop ${names[i]}`] for[let j = 0; j < names[i].length; j++] {
console.log[`I am the inner loop ${names[i][j]}`]
}
}//Returns --->
I am the outer loop AbbyI am the inner loop A
I am the inner loop b
I am the inner loop b
I am the inner loop yI am the outer loop BobbyI am the inner loop B
I am the inner loop o
I am the inner loop b
I am the inner loop b
I am the inner loop yI am the outer loop Freddy
I am the inner loop r
I am the inner loop e
I am the inner loop d
I am the inner loop d
I am the inner loop y
Tôi hy vọng bạn thích bài viết này. Vui lòng gửi bất kỳ nhận xét, câu hỏi hoặc phản hồi nào và theo dõi tôi để biết thêm nội dung
Thêm nội dung tại PlainEnglish. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Theo dõi chúng tôi trên Twitter, LinkedIn, YouTube và Discord. Quan tâm đến hacking tăng trưởng?