定义和用法
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


posted on 2018-05-10 16:55  niunf  阅读(3419)  评论(0编辑  收藏  举报