定義和用法
filter()方法創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素.
filter()不會對空數組進行檢測
filter()不會改變原始數組
語法
array.filter(function(currentValue,index,arr),thisValue);
function(currentValue,index,arr); //必須,函數,數組中的每個元素都會執行這個函數
currentValue //必須,當前元素的值
index //可選,當前元素的索引值
arr //可選,當前元素屬於的數組對象
thisValue //可選,對象作為該執行回調時使用
eg:
<p>點擊按鈕獲取數組中大於18的所有元素</p>
<button onclick="myFunction()">點我</button>
<p id="demo"></p>
<script>
var arr = [10,12,23,34,45];
function checkNum(num){
return num >= 12;
}
function myFunction(){
document.getElementById('demo').innerHTML = arr.filter(checkNum);
}
</script>
eg2:
<p>點擊按鈕返回數組ages中所有元素都大於輸入框指定數值的元素</p>
<p>最小年齡:<input type="number" value="18" id="txt"/> </p>
<button onclick="myFunction()">點我</button>
所有大於指定數組的元素有: <span id="demo"></span>
js:
var arr = [10,12,23,34,45];
function checkNum(num){
return num >= document.getElementById('txt').value;
}
function myFunction(){
document.getElementById('demo').innerHTML = arr.filter(checkNum);
}
//23,34,45