Lặp qua mảng Javascript

Lặp qua mảng Javascript

Như của ES6, cách thức dễ nhất để lặp qua mỗi phần tử của một mảng (hay bất cứ object lặp qua được nào) là với
for/of loop, cái đã đề cập chi tiết trong các học phần trước:

let letters = […”Hello world”]; // An array of letters
let string = “”;
for(let letter of letters) {

string += letter;

}
string // => “Hello world”; we reassembled the original text

Cái lặp mảng tích hợp cái for/of loop sử dụng trả về các phần tử của một mảng trong trật tự tăng dần. Nó không có
hành vi đặc biệt cho các mảng thưa thớt và đơn giản trả về undefined cho bất cứ phần tử mảng nào cái không tồn
tại.
Nếu bạn muốn sử dụng một for/of loop cho một mảng và cần biết chỉ mục của mỗi phần tử mảng, sử dụng phương thức
entries() của mảng, cùng với phép gán phá cấu trúc, giống cái này:

let everyother = “”;
for(let [index, letter] of letters.entries()) {

if (index % 2 === 0) everyother += letter; // letters at even indexes

}
everyother // => “Hlowrd”

Cách thức tốt khác để lặp qua các mảng là với forEach(). Đây không phải là dạng mới của for loop, nhưng một phương
thức mảng cái cung cấp một cách tiếp cận hàm tới lặp mảng. Bạn truyền một hàm tới phương thức forEach() của một
mảng, và forEach() khởi động hàm của bạn một lần trên mỗi phần tử của mảng:

let uppercase = “”;
letters.forEach(letter => { // Note arrow function syntax here

uppercase += letter.toUpperCase();

});
uppercase // => “HELLO WORLD”

Như bạn sẽ mong đợi, forEach() lặp qua mảng theo trật tự, và nó thực sự truyền chỉ mục mảng tới hàm của bạn như
một đối số thứ hai, cái thỉnh thoảng là hữu dụng. Không giống for/of loop forEach() biết về các mảng thưa thớt và
không khởi động hàm của bạn cho các phần tử cái không ở đó.
Các học phần sau tài liệu hướng dẫn phương thức forEach() chi tiết hơn. Phần đó cũng bao quát các phương thức liên
quan như map() và filter() cái thực hiện loại chuyên biệt lặp mảng.

Chia sẻ