Các vòng lặp động lồng nhau JavaScript
Tôi đang cố gắng tìm ra một cách đơn giản để xử lý cấp độ vòng lặp lồng nhau động. Xét hàm sau nhận 2 tham số. số cấp độ vòng lặp và giá trị tối đa void nestedLoop(int looplevel, int maxvalue) nestedLoop(1,2);
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++) {
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++) { 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 nhauBằ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++) { 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++) { 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++) { Mảng chuỗiCá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++) { 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++) { 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? |