103 of 264 menu

Phương thức map

Phương thức map cho phép áp dụng một hàm cho trước cho từng phần tử của mảng. Phương thức này không thay đổi mảng ban đầu, mà trả về một mảng mới đã được thay đổi.

Phương thức nhận một hàm làm tham số, hàm này sẽ được thực thi cho mỗi phần tử của mảng. Giá trị mà hàm này trả về thông qua return cho phần tử mảng sẽ trở thành giá trị mới của phần tử đó (xem các ví dụ).

Có thể truyền 3 tham số vào hàm. Nếu các tham số này tồn tại (chúng không bắt buộc), thì tham số đầu tiên sẽ tự động là phần tử mảng, tham số thứ hai là số thứ tự của nó trong mảng (chỉ mục), và tham số thứ ba là chính mảng đó.

Cú pháp

let mảng mới = mảng.map(function(phần tử, chỉ mục, mảng) { mã return phần tử đã thay đổi; });

Ví dụ

Tạo một mảng, mỗi phần tử của mảng mới gấp đôi phần tử tương ứng của mảng ban đầu:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem) { return elem * 2; }); console.log(res);

Kết quả thực thi mã:

[2, 4, 6, 8, 10]

Ví dụ

Tạo một mảng, mỗi phần tử của nó được tính bằng cách: giá trị phần tử nhân với số thứ tự của nó trong mảng:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index) { return elem * index; }); console.log(res);

Kết quả thực thi mã:

[0, 2, 6, 12, 20]

Ví dụ

Nếu cần, có thể truyền chính mảng vào tham số thứ ba:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index, arr) { // tại đây mảng arr sẽ có thể truy cập được });

Ví dụ

Phương thức map cũng có thể được sử dụng để duyệt qua các mảng đa chiều. Ví dụ, cho một mảng như sau:

let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

Hãy duyệt qua mảng này bằng map và in các phần tử của nó ra console:

let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; let result = arr.map(function(elem) { console.log(elem); });

Kết quả console.log sẽ in ra [1, 2, 3], sau đó [4, 5, 6], sau đó [7, 8, 9].

Như bạn thấy, biến elem nhận các mảng con. Bây giờ hãy áp dụng phương thức map cho từng mảng con và bình phương mỗi phần tử của nó:

let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; let result = arr.map(function(elem) { return elem.map(function(num) { return num * num; }); }); console.log(result);

Xem thêm

  • phương thức forEach,
    áp dụng một hàm cho mỗi phần tử của mảng
  • phương thức filter,
    cho phép lọc các phần tử của mảng
  • phương thức someevery,
    thực hiện kiểm tra mảng
  • phương thức reducereduceRight,
    gộp mảng thành một giá trị
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối