Trong JavaScript, filter() là một phương thức của mảng (Array) dùng để tạo ra một mảng mới chứa các phần tử thỏa mãn một điều kiện cụ thể mà bạn đặt ra.
Hãy tưởng tượng bạn có một rổ trái cây và bạn chỉ muốn lấy ra những quả táo. Phương thức filter() chính là cái "sàng" giúp bạn làm việc đó.
Rất nhiều người mới bắt đầu hay nhầm lẫn giữa hai phương thức này:
filter(): Tìm tất cả các phần tử thỏa mãn và trả về một mảng.
find(): Chỉ tìm phần tử đầu tiên thỏa mãn và trả về giá trị của phần tử đó.
Mẹo nhỏ: Nếu bạn muốn xóa một phần tử khỏi mảng, hãy dùng filter() để lấy tất cả các phần tử ngoại trừ phần tử đó. Ví dụ: arr.filter(item => item.id !== idToDelete).
Trong JavaScript, filter() là một phương thức của mảng (Array) dùng để tạo ra một mảng mới chứa các phần tử thỏa mãn một điều kiện cụ thể mà bạn đặt ra.
Hãy tưởng tượng bạn có một rổ trái cây và bạn chỉ muốn lấy ra những quả táo. Phương thức filter() chính là cái "sàng" giúp bạn làm việc đó.
1. Cú pháp cơ bản
Cú pháp của filter() khá đơn giản:
callback: Hàm thực thi cho mỗi phần tử.
element: Phần tử hiện tại đang được xử lý.
index (tùy chọn): Vị trí của phần tử đó.
array (tùy chọn): Mảng gốc ban đầu.
2. Cách hoạt động (Ví dụ thực tế)
Giả sử bạn có một danh sách các con số và bạn chỉ muốn giữ lại các số lớn hơn 10
Sử dụng Arrow Function (Viết ngắn gọn):
3. Các đặc điểm quan trọng cần nhớ
Để sử dụng filter() hiệu quả và tránh lỗi logic, bạn cần nắm vững các quy tắc sau:
4. Ứng dụng phổ biến: Lọc mảng đối tượng
Trong thực tế, bạn thường dùng filter() để xử lý dữ liệu từ API (ví dụ: lọc danh sách sản phẩm, tìm người dùng).
5. So sánh nhanh với find()
Rất nhiều người mới bắt đầu hay nhầm lẫn giữa hai phương thức này:
filter(): Tìm tất cả các phần tử thỏa mãn và trả về một mảng.
find(): Chỉ tìm phần tử đầu tiên thỏa mãn và trả về giá trị của phần tử đó.