Phương thức JavaScript Array filter () trả về một mảng mới với tất cả các phần tử vượt qua bài kiểm tra được xác định bởi hàm đã cho.
Cú pháp của filter()
phương thức là:
arr.filter(callback(element), thisArg)
Ở đây, arr là một mảng.
filter () Tham số
Các filter()
phương pháp có trong:
- callback - Hàm kiểm tra để thực thi trên mỗi phần tử mảng; trả về
true
nếu phần tử vượt qua thử nghiệm, khácfalse
. Nó có:- phần tử - Phần tử hiện tại đang được truyền từ mảng.
- thisArg (tùy chọn) - Giá trị được sử dụng
this
khi thực hiện lệnh gọi lại. Theo mặc định, nó làundefined
.
Trả về giá trị từ bộ lọc ()
- Trả về một mảng mới chỉ có các phần tử đã vượt qua bài kiểm tra.
Ghi chú :
filter()
không thay đổi mảng ban đầu.filter()
không thực thicallback
cho các phần tử mảng không có giá trị.
Ví dụ 1: Lọc ra các giá trị từ Mảng
const prices = (1800, 2000, null, 3000, 5000, "Thousand", 500, 8000) function checkPrice(element) ( return element> 2000 && !Number.isNaN(element); ) let filteredPrices = prices.filter(checkPrice); console.log(filteredPrices); // ( 3000, 5000, 8000 ) // using arrow function let newPrices = prices.filter((price) => (price> 2000 && !Number.isNaN(price))); console.log(newPrices); // ( 3000, 5000, 8000 )
Đầu ra
(3000, 5000, 8000) (3000, 5000, 8000)
Ở đây, tất cả các số nhỏ hơn hoặc bằng 2000 và tất cả các giá trị không phải số đều được lọc ra.
Ví dụ 2: Tìm kiếm trong Mảng
const languages = ("JavaScript", "Python", "Ruby", "C", "C++", "Swift", "PHP", "Java"); function searchFor(arr, query) ( function condition(element) ( return element.toLowerCase().indexOf(query.toLowerCase()) !== -1; ) return arr.filter(condition); ) let newArr = searchFor(languages, "ja"); console.log(newArr); // ( 'JavaScript', 'Java' ) // using arrow function const searchArr = (arr, query) => arr.filter(element => element.toLowerCase().indexOf(query.toLowerCase()) !== -1); let newLanguages = searchArr(languages, "p"); console.log(newLanguages); // ( 'JavaScript', 'Python', 'PHP' )
Đầu ra
('JavaScript', 'Java') ('JavaScript', 'Python', 'PHP')
Ở đây, cả phần tử và truy vấn đều được chuyển đổi thành chữ thường và phương thức indexOf () được sử dụng để kiểm tra xem truy vấn có xuất hiện bên trong phần tử hay không. Những yếu tố không vượt qua bài kiểm tra này được lọc ra.
Đề xuất đọc: Bản đồ mảng JavaScript ()