12/08/2018, 15:59

Javascript: for loop

Trong hầu hết các ngôn ngữ lập trình, việc sử dụng vòng lặp for là không thể thiếu. Mỗi ngôn ngữ có những cách sử dụng khác nhau và javascript cũng vậy. Javascript có khá nhiều phương thức giúp chúng ta duyệt 1 mảng, chuỗi hay 1 object như for, for-in, for-of, forEach, map, every, ... Trong ...

Javascript for-loop

Trong hầu hết các ngôn ngữ lập trình, việc sử dụng vòng lặp for là không thể thiếu. Mỗi ngôn ngữ có những cách sử dụng khác nhau và javascript cũng vậy.

Javascript có khá nhiều phương thức giúp chúng ta duyệt 1 mảng, chuỗi hay 1 object như for, for-in, for-of, forEach, map, every, ... Trong bài viết này mình sẽ giới thiệu qua các cách cơ bản để sử dụng for trong javascript.

for

Mặc định

for (let i = 0; i < number; i++) {
    console.log(i);
}

Không có khởi tạo (without initialization)

let i = 0;
for (; i < number; i++) {
    console.log(i);
}

Không có điều kiện (without conditions)

for (let i = 0;; i++) {
    //...
    console.log(i);
    if (i > number) break;
}

Không có final-expression

for (let i = 0; i < number;) {
    console.log(i);
    i++;
}

Không có cả 3 block (omit all three blocks)

let i = 0;
for (;;) {
    console.log(i);
    if (i > number) break;
    i++;
}

Không có nội dung bên trong (without a statement)

let sum = 0;
for (
    let i = 0,    // initialazation
    i < number,   // condition
    sum += i, i++ // final-expression
); // You must have an semicolon (;) after it

console.log(sum)

for - in

The for–in loop is for looping over object properties. for-in cho phép chúng ta duyệt theo properties của các giá trị trong object (thường là object, nếu là mảng thì nên dùng for thường)

const triangle = {a: 1, b: 2, c: 3};
for (let index in triangle) {
    console.log(index);
    // Properties of each value in `triangle`
}

// Output:
// a
// b
// c

Note

In short, for–in was designed to work on plain old Objects with string keys. For Arrays, it’s not so great.

for - of

The for–of loop is for looping over data — like the values in an array. for–of cho phép chúng ta duyệt theo dữ liệu - tương tự dữ liệu trong mảng

In javascript, you can use string as an array

let iterable = [10, 20, 30];

for (let value of iterable) {
    value += 1;
    console.log(value);
}
// 11
// 21
// 31

Chúng ta cũng có thể duyệt theo cặp [index, value]:

for (var [key, value] of myArray) {
    console.log(`Key: ${key}, value: ${value}`);
}

forEach

Ngoài 3 cách ở trên, có 1 cách khác cũng thường được dùng đó là forEach. forEach là một prototype được định nghĩa sẵn của Array.

The forEach() method calls a provided function once for each element in an array, in order. Note: forEach() does not execute the function for array elements without values.

let a = ['a', 'b', 'c'];
a.forEach((currentValue, index, array) => {
    console.log(currentValue, index, array);
    // all of them is optional (currentValue, index, array)
    // thisArg: optional - Value to use as this when executing callback.
}, [, thisArg]);

Note: Chúng ta không thể thoát khỏi forEach bằng cách sử dụng stop hay break. Để thoát ra khỏi forEach, chúng ta cần phải throw một exception;

0