Bộ lọc mảng JavaScript()
ví dụ 1
Trả về một mảng gồm tất cả các giá trị trong age[] từ 18 trở lên:
const ages = [32, 33, 16, 40];
const result = ages.filter(checkAdult);
function checkAdult(age) {
return age >= 18;
}
Hãy tự mình thử »Sự miêu tả
Phương thức filter()
tạo một mảng mới chứa đầy các phần tử vượt qua bài kiểm tra do hàm cung cấp.
Phương thức filter()
không thực thi hàm cho các phần tử trống.
Phương thức filter()
không thay đổi mảng ban đầu.
Phương pháp lặp mảng:
Cú pháp
array .filter( function(currentValue, index, arr), thisValue )
Thông số
Parameter | Description |
function() | Required. A function to run for each array element. |
currentValue | Required. The value of the current element. |
index | Optional. The index of the current element. |
arr | Optional. The array of the current element. |
thisValue | Optional. Default undefined A value passed to the function as its this value. |
Giá trị trả về
Kiểu | Sự miêu tả |
Mảng | Một mảng các phần tử đã vượt qua bài kiểm tra. Một mảng trống nếu không có phần tử nào vượt qua bài kiểm tra. |
Ví dụ 2
Trả về các giá trị trong age[] vượt quá một số cụ thể:
<p><input type="number" id="ageToCheck" value="30"></p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
const ages = [32, 33, 12, 40];
function checkAge(age) {
return age > document.getElementById("ageToCheck").value;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAge);
}
</script>
Hãy tự mình thử » Hướng dẫn mảng:
Hỗ trợ trình duyệt
filter()
là một tính năng của ECMAScript5 (ES5).
ES5 (JavaScript 2009) được hỗ trợ đầy đủ trong tất cả các trình duyệt hiện đại kể từ tháng 7 năm 2013:
Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
Sep 2012 | Sep 2012 | Apr 2013 | Jul 2012 | Jul 2013 |