105 of 264 menu

Phương thức filter

Phương thức filter cho phép lọc các phần tử của mảng, chỉ giữ lại những phần tử phù hợp với một điều kiện nhất định. Phương thức nhận một hàm làm tham số, hàm này sẽ được thực thi cho từng phần tử của mảng. Kết quả của phương thức là một mảng mới, chỉ bao gồm những phần tử mà hàm được truyền vào trả về true.

Có thể truyền ba 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 nhận phần tử của mảng, tham số thứ hai sẽ nhận số thứ tự của nó trong mảng (chỉ mục), và tham số thứ ba - chính là mảng đó.

Cú pháp

let mảng mới = mảng.filter(function(phần tử, chỉ mục, mảng) { mã return true hoặc false });

Ví dụ

Hãy lọc một mảng, chỉ giữ lại trong đó các số dương:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(function(elem) { if (elem >= 0) { return true; } else { return false; } }); console.log(res);

Kết quả thực hiện mã:

[5, 1, 1, 3, 4]

Ví dụ

Rút gọn mã, sử dụng hàm mũi tên:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => { if (elem >= 0) { return true; } else { return false; } }); console.log(res);

Kết quả thực hiện mã:

[5, 1, 1, 3, 4]

Ví dụ

Rút gọn mã, sử dụng cách viết rút gọn của các phép toán logic:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => { return elem >= 0; }); console.log(res);

Kết quả thực hiện mã:

[5, 1, 1, 3, 4]

Ví dụ

Rút gọn mã, sử dụng đặc điểm của hàm mũi tên:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => elem > 0); console.log(res);

Kết quả thực hiện mã:

[5, 1, 1, 3, 4]

Ví dụ

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

let res = arr.filter(function(elem, index, arr) { mảng arr sẽ có thể truy cập ở đây });

Xem thêm

  • phương thức mapforEach,
    cho phép áp dụng một hàm cho từng 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,
    gom mảng về 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