For lồng (for trong for) trong JavaScript | Laptrinhcanban.com

For lồng (for trong for) trong JavaScript

Hướng dẫn cách sử dụng for lồng trong JavaScript. For lồng là vòng lặp for được chứa trong một vòng lặp for khác trong JavaScript, và bạn sẽ học được nó hoàn hảo trong bài học này.

For lồng (for trong for) trong JavaScript là gì

for lồng trong JavaScript là vòng lặp mà một vòng lặp for lại được chứa bên trong một vòng lặp for khác. for lồng thường được sử dụng để vừa thay đổi theo thứ tự nhiều biến số vừa tiến hành vòng lặp trong JavaScript.

Do chúng ta có thể tự do viết các câu lệnh bên trong khối của vòng lặp for, do đó chúng ta có thể ghi một vòng lặp for trong một vòng for khác. Ví dụ, chúng ta có vòng lặp for trong for với 2 biến số là i và j như sau :

for (let i = 0; i < 3; i++){
for (let j = 0; j < 3; j++){
console.log('i = ' + i + ', j = ' + j);
}
}

Trong ví dụ trên, mỗi khi vòng lặp for bên ngoài được thực thì thì vòng lặp for bên trong nó sẽ được chạy từ đầu đến cuối, và lặp lại quá trình cho tới khi các lượt lặp của vòng lặp for bên ngoài đã được chạy hết.

Và do vòng lặp for bên ngoài sử dụng biến i còn vòng lặp for bên trong nó sử dụng biến j, nên 2 biến này sẽ lần lượt thay đổi giá trị, tiến hành các vòng lặp và cho ra kết quả như sau:

i = 0, j = 0
i = 0, j = 1
i = 0, j = 2
i = 1, j = 0
i = 1, j = 1
i = 1, j = 2
i = 2, j = 0
i = 2, j = 1
i = 2, j = 2

Ngoài ra, chúng ta cũng có thể ghi thêm các vòng lặp thứ 3 bên trong vòng lặp thứ 2, vòng lặp thứ 4 bên trong vòng lặp thứ 3 v.v.. và tạo ra các vòng lặp lồng đa chiều như sau:

for (let i = 0; i < 3; i++){
for (let j = 0; j < 3; j++){
for (let k = 0; k < 3; k++){
console.log('i = ' + i + ', j = ' + j + ', k = ' + k);
}
}
}

Sử dụng for lồng trong JavaScript để lấy phần tử trong mảng đa chiều

Giống như Kiyoshi đã phân tích ở trên thì vòng lặp for lồng trong JavaScript sẽ giúp chúng ta vừa thay đổi các biến vừa tiến hành các vòng lặp, do đó nó phù hợp với các xử lý cần phải lấy các phần tử trong các mảng đa chiều trong JavaScript.

Ví dụ, chúng ta sẽ lấy lần lượt các giá trị theo thứ tự trong mảng đa chiều bằng for lồng như sau:

const result = [
['Kiyoshi', 30, 'man'],
['Ajinomoto', 70, 'woman']
];

for (let i = 0; i < 2; i++){
for (let j = 0; j < 3; j++){
console.log(result[i][j]);
}
}

Kết quả chương trình:

Kiyoshi
30
man
Ajinomoto
70
woman

Sự khác biệt giữa for lồng và vòng lặp for nhiều biến số trong JavaScript

Khi cần thay đổi giá trị nhiều biến số trong vòng lặp JavaScript, ngoài for lồng mà Kiyoshi đã hướng dẫn ở trên thì chúng ta cũng có thể sử dụng vòng lặp for với các biến số được đặt giữa dấu phẩy. Tuy nhiên thì hai vòng lặp này thực tế là rất khác nhau.

  • Vòng lặp for nhiều biến số sẽ thay đổi cùng lúc các biến sử dụng trong vòng lặp, trong khi for lồng sẽ thay đổi lần lượt các biến sử dụng trong nó.

  • Vòng lặp for nhiều biến số sẽ chỉ thực hiện 1 vòng lặp duy nhất trong mỗi lượt lặp của nó, trong khi for lồng sẽ thực hiện từ đầu tới cuối các vòng lặp con chứa trong vòng lặp mẹ, sau mỗi lần vòng lặp mẹ được lặp.

  • Và, do số lượt lặp cũng như độ phức tạp của vòng lặp for lồng là lớn hơn vòng lặp for bình thường, nên tốc độ xử lý của for lồng là thấp hơn. Nó cũng khó hiểu nữa, do đó ngoài các trường hợp cần thiết thì chúng ta cũng nên hạn chế sử dụng chúng trong chương trình JavaScript.

  • Xem thêm: For trong JavaScript và vòng lặp với số lần cụ thể

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về for lồng trong JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.