Mảng foreach javascript

Chắc chắn các bạn cũng đã nghe đến vòng lặp forEach() rồi đúng không?

Vòng lặp forEach()

Mảng foreach javascript
Mảng foreach javascript

Với các bạn lập trình JavaScript thì chắc chắn không còn xa lạ gì với 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2. Ngoài các vòng lặp thông thường như 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
3, 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
4 thì 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2là một 1 vòng lặp khá hay để rút ngắn thời gian viết mã

Các bạn hãy xem ví dụ sau nhé

Ví dụ khi sử dụng vòng lặp ______0_______3

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; for(let i = 0; i <= fruits.length; i++) { console.log(fruits[i]); }

Code language: JavaScript (javascript)

Hoặc với vòng lặp 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
4

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)

Kết quả sẽ là

________số 8_______

Đúng như những gì bạn đã thấy ở trên là 2 ví dụ về 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
3 và 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
4. Khi làm việc với 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
3 và 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
4 chúng ta luôn phải chú ý đến chỉ số biến của mảng để có thể lấy được phần tử trong mảng, và nếu không cẩn thận, chúng ta có thể làm sai kết quả mong muốn

I've also with 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2 thì sao. Chúng ta hãy xem ví dụ sau

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; fruits.forEach(fruit => console.log(fruit));

Code language: JavaScript (javascript)

Chỉ với 1 dòng lệnh menu không cần thiết phải đặt thêm biến mới rồi tăng chỉ mục các kiểu

Stop loop forEach()

Mảng foreach javascript
Mảng foreach javascript

With 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
3 và 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
4 thì đơn giản, chỉ cần chúng ta sử dụng lệnh 

Apple Banana Orange Watermelon

5 là được. Ví dụ

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; for(let i = 0; i <= fruits.length; i++) { if (fruts[i] === 'Orange') break; console.log(fruits[i]); const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; for(let i = 0; i <= fruits.length; i++) { if (fruits[i] === 'Orange') break; console.log(fruits[i]); } let i = 0; while(i < fruits.length) { if (fruits[i] === 'Orange') break; console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)

Kết quả của 2 vòng lặp trên sẽ là

Apple Banana Apple Banana

Nhưng còn với

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2 thì sao?

Nếu chưa biết thì mình sẽ hướng dẫn các bạn một số cách để có thể dừng được nó nhé

1. Use if

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; fruits.forEach(fruit => { if (fruit === 'Orange') return; console.log(fruit); });

Code language: JavaScript (javascript)

Kết quả

Apple Banana Watermelon

Thực hiện cách này nó không thực sự dừng vòng lặp

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2 mà nó chỉ bỏ qua và không thực hiện đoạn mã phía trong, tuy nhiên kết quả cuối cùng của nó vẫn đúng như chúng ta mong muốn

Đối với những mảng dữ liệu lớn thì cách này không thực sự hiệu quả. Và đây có thể xem là cách kém hiệu quả nhất để dừng lại 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2

2. Sử dụng ném, thử… bắt

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; try { fruits.forEach(fruit => { if (fruit === 'Orange') throw 'break-loop'; console.log(fruit); }); } catch (error) { console.log(error); }

Code language: JavaScript (javascript)

Kết quả

Apple Banana break-loop

Code language: JavaScript (javascript)

Không giống như cách trên chỉ là bỏ qua mã chứ không phải dừng vòng lặp

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2 thì cách này hoàn toàn dừng vòng lặp và kết quả vẫn đúng như thường lệ

Nhưng cách này là một cách gây khá nhiều tranh cãi vì không ai lại muốn lộn ra lỗi ở vòng lặp cả và nó có khá nhiều rủi ro.

3. Not used forEach() nữa

Nghe là khá buồn cười không đúng. Cách để dừng 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2 chính là không sử dụng nó nữa. Vì vậy nếu không dùng 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2 nữa thì dùng gì bây giờ?

Các bạn cứ bình tĩnh còn có cách nhé. Thay vì sử dụng 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2 thì chúng ta có thể sử dụng 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; fruits.forEach(fruit => console.log(fruit));

Code language: JavaScript (javascript)
5 hoặc 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; fruits.forEach(fruit => console.log(fruit));

Code language: JavaScript (javascript)
6. Các bạn hãy xem ví dụ sau nhé

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
0

Kết quả

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
1

Kết luận

Trên đây mình đã giới thiệu cho các bạn cách sử dụng vòng lặp

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2 trong JavaScript cũng như cách để dừng các vòng lặp đó. Và cũng có tùy chọn vào từng trường hợp mà bạn nên chọn 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
3, 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
4 hay sử dụng 

const fruits = ['Apple', 'Banana', 'Orange', 'Watermelon']; let i = 0; while(i < fruits.length) { console.log(fruits[i]); i++; }

Code language: JavaScript (javascript)
2 để sử dụng cho thích hợp nhé