Menu
CoddyTech

Lọc

Bài học 12 trên 18 trong khóa học Các phương thức mảng trong JavaScript của Coddy.

Phương thức filter() là hàm tích hợp sẵn dành cho mảng, tạo ra một mảng mới chỉ chứa các phần tử vượt qua một phép kiểm tra được thực hiện bằng hàm callback được cung cấp. Phương thức này duyệt qua từng phần tử của mảng ban đầu và áp dụng hàm callback cho phần tử đó. Nếu hàm callback trả về true cho một phần tử, phần tử đó sẽ được đưa vào mảng mới đã lọc. Nếu không, phần tử đó sẽ bị loại.

Hãy tưởng tượng bạn có một danh sách điểm đánh giá phim (số) và muốn tạo một danh sách mới chỉ gồm những phim có điểm trên 4 sao. Sau đây là cách bạn có thể dùng filter():

const ratings = [3.5, 4.8, 2.9, 5.0, 4.2];

// Hàm (function) callback kiểm tra xem điểm đánh giá có lớn hơn 4 không
const goodMovies = ratings.filter(rating => rating > 4);

console.log(goodMovies); // Đầu ra: [4.8, 5.0]

Trong ví dụ trên, phương thức filter() duyệt qua mảng ratings và chỉ giữ lại những phần tử đáp ứng điều kiện được nêu trong hàm callback (rating => rating > 4).

challenge icon

Thử thách

Dễ

Một mảng có tên friends chứa danh sách bạn bè và trạng thái của họ.

Nhiệm vụ của bạn là tạo một danh sách mới chỉ gồm những người bạn đang trực tuyến, rồi in ra mảng đã lọc.

Tự làm thử

const friends = [
  { name: "Alice", online: true },
  { name: "Bob", online: false },
  { name: "Charlie", online: true },
  { name: "David", online: false }
];

// Viết code ở đây

Tất cả bài học trong Các phương thức mảng trong JavaScript

Tự luyện tập: Trình biên dịch JavaScript online