Lặp qua mảng Javascript (phần 2)

Lặp qua mảng Javascript (tiếp tục)

Bạn cũng có thể lặp qua các phần tử của một mảng với for loop phong cách cũ (các học phần trước)

let vowels = “”;
for(let i = 0; i < letters.length; i++) { // For each index in the array

let letter = letters[i]; // Get the element at that index
if (/[aeiou]/.test(letter)) { // Use a regular expression test

vowels += letter; // If it is a vowel, remember it

}

}
vowels // => “eoo”

Trong các nested loops, hay các bối cảnh khác nơi hiệu suất là nghiêm chỉnh, bạn đôi khi có thể xem loop lặp mảng
cơ bản được viết để rằng độ dài mảng chỉ được tìm kiếm một lần hơn là trên mỗi lần lặp. Cả hai dạng for loop sau
là phổ biến, mặc dù không phải phổ biến đặc biệt, và với các trình dịch Javascript hiện đại, nó là không rõ ràng
tí nào rằng chúng có bất cứ ảnh hưởng hiệu suất nào:

// Save the array length into a local variable
for(let i = 0, len = letters.length; i < len; i++) {

// loop body remains the same

}
// Iterate backwards from the end of the array to the start
for(let i = letters.length-1; i >= 0; i–) {

// loop body remains the same

}

Các ví dụ này cho rằng mảng là đậm đặc và rằng tất cả các phần tử chứa dữ liệu có hiệu lực. Nếu cái này không là
trường hợp, bạn nên test các phần tử mảng trước khi sử dụng chúng. Nếu bạn muốn nhảy qua các phần tử undefined và
không tồn tại, bạn có thể viết:

for(let i = 0; i < a.length; i++) {

if (a[i] === undefined) continue; // Skip undefined + nonexistent elements
// loop body here

}

Chia sẻ