Loop trong Javascript


1. For

Qua những bài viết trước ta đã tìm hiểu về array, ta đã học cách truy xuất vào 1 phần tử, bây giờ ta muốn truy xuất tất cả các phần tử trong array ta sẽ dùng vòng lặp (loop)

var myArray = ["Mr D", "Cat", "Dog"];

for(i = 0; i < myArray.length; i++) {
	console.log("Index: " + i + " Value: " + myArray[i]);
}

Vòng lặp for bắt đầu với i=0 , Kiểm tra i có nhỏ hơn 3 (myArray.length = 3) hay không, i = 0 < 3 nên in ra giá trị của array tại vị trí 0 là "Mr D" sau đó tăng i lên 1 (i++), lúc này i sẽ có giá trị là 1, rồi kiểm tra điều kiện i có nhỏ hơn 3 (myArray.length = 3) hay không, hiện nay i = 1 vẫn nhỏ hơn 3 nên in ra giá trị của array tại vị trí 1 là "Cat". Tiếp tục tăng i lên 1 kiểm tra i có nhỏ hơn 3 hay không, i = 2 < 3 nên in ra giá trị của array tại vị trí 2 là "Dog". Tăng i lên 1 , lúc này i = 3 nên điều kiện i < 3 đã sai nên thoát khỏi vòng lặp for.

2. While

Ngoài vòng lặp for ta có thể dùng while, ý nghĩa cũng tương tự

var i=0;
while (i< 10) {
	console.log(i);
	i++;
}

Cũng tương tự for, i bắt đầu bằng 0 , kiểm tra i < 10 là đúng thì in ra i, sau đó tăng i lên 1, kiểm tra điều kiện i = 1 < 10 vẫn còn đúng nên in ra i, lặp tiếp đến khi i tăng lên bằng 10, kiểm tra điều kiện i < 10 là sai nên thoát khỏi vòng lặp không in ra i bằng 10.

3. Do...While

Ngoài While ta cũng có thể dùng do... while

var i=0;
do {
     console.log(i);
     i++;
}while(i< 10);

do ... while khác while ở 1 điểm là sẽ thực hiện code trước rồi mới kiểm tra sau, ta xem ví dụ sau

var i=0;
do {
     console.log(i);
     i++;
}while(i > 10);

Ta thấy rằng i=0 được in ra rồi tăng i lên bằng 1, sau đó mới kiểm tra i phải lớn hơn 10, do i nhỏ hơn 10 nên thoát khỏi vòng lặp.

4. For and break

Nếu ta muốn thoát khỏi vòng lặp khi lặp đến giá trị bằng 3 ta làm như sau

for (i = 0; i < 10 ; i++) {
   if(i == 3) {
	   console.log("i = 3");
	   break;
   }
   console.log(i);

}

Như vậy là dùng break ta sẽ thoát khỏi vòng lặp.

4. For and continue

Nếu ta muốn bỏ qua 1 giá trị nào trong vòng lặp ta làm như sau

for (i = 0; i < 10 ; i++) {
   if(i == 3) {
	   console.log("skip");
	   continue;
   }
   console.log(i);

}

Như vậy là dùng continue sẽ không thực hiện tiếp code trong vòng lặp, không in ra i mà nhảy lên tăng i và kiểm tra điều kiện i < 10 , nếu vẫn còn đúng thì thực hiện tiếp vòng lặp.

5. For .. in

Ngoài việc dùng for như bên trên ta có thể dùng for .. in, với for ... in ta không cần quan tâm tới i, rồi phải tăng i như những ví dụ trên, khi hết các phần tử thì tự động thoát khỏi vòng lặp.

var myArray = ["Mr D", "Cat", "Dog"];

for(let i in myArray) {
	console.log("Index: " + i + " Value: " + myArray[i]);
}

Như vậy là dùng for .. in thì sẽ dễ hơn. Hôm nay ta đã tìm hiểu được vòng lặp trong javascript. Rất dễ phải không nào ?