JavaScript :Array数组之filter()——检查指定数组符合条件的所有元素
定义和用法
- filter()方法创建一个新的数组,数组中的元素是通过检查指定数组中符合所有条件的元素。
- filter()不会对空数组进行检测
- filter()不会改变原始数组。
浏览器支持
浏览器 | Chrome | IE | FireFox | Safari | Opera |
支持版本 | Yes | 9 | 1.5 | Yes | Yes |
语法
array.filter(function(currentValue,index,arr), thisValue)
参数说明
参数 | 描述 |
function(currentValue, index,arr) |
必须。函数,数组中每个元素都会执行此函数。 具体参数参考下一个表格。 |
thisValue | 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。 如果省略了 thisValue ,"this" 的值为 "undefined" |
参数 | 描述 |
currentValue | 必须。当前元素的值。 |
index | 可选。当前元素的索引值。 |
arr | 可选。当前元素属于的数组对象。 |
技术细节
返回值: | 返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。 |
JavaScript 版本: | 1.6 |
实例
返回数组 ages 中所有大于 18 的元素:
1 var ages = [32, 33, 16, 40]; 2 console.log(ages.filter(age=>{ 3 return age > 18 4 }));
运行输出结果为: [ 32, 33, 40] 。
参考网址
- JavaScript Array filter():https://www.runoob.com/jsref/jsref-filter.html
有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。