Vòng lặp (tiếp)

Ngoài các vòng lặp giống như ngôn ngữ C, Javascript còn cung cấp hai dạng vòng lặp đó là for-in và for-of.

Câu lệnh for…in

Câu lệnh for ... in là vòng lặp mà nó lặp các thuộc tính có thể đếm được của một đối tượng (thuộc tính có enumerable là true).

Ví dụ

1
2
3
4
5
6
7
8
9
const object = {a: 1, b: 2, c: 3};
for (const property in object) {
  console.log(`${property}: ${object[property]}`);
}
/* ->
"a: 1"
"b: 2"
"c: 3"
*/

Câu lệnh for…of

Câu lệnh for...of tạo ra một vòng lặp lặp lại các giá trị của đối tượng (Iteration protocols) ví dụ như Array, Map, Set, arguments object.

Ví dụ:

1
2
3
4
5
6
const arr = [3, 5, 7];
arr.foo = 'hello';

for (let i of arr) {
  console.log(i); // 3, 5, 7
}

Sự khác nhau giữa hai vòng lặp trên là for...in lặp các thuộc tính của đối tượng, còn for...of lặp các giá trị của đối tượng.