当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


ES6 Array filter()用法及代码示例


数组 filter() 是一个内置方法,该方法创建一个新数组,其中的元素遵循或通过给定的标准和条件。为了更好地理解这个概念,下面实施了一些示例

用法:

var newArray = arr.filter(callback(element[, index[, array]])
[, thisArg])

参数:此方法接受上面提到的和下面描述的 2 个参数:

  • Callback:该函数是一个谓词,用于测试数组的每个元素。返回 true 以保留元素,否则返回 false。它接受三个参数:
    • element:数组中正在处理的当前元素。
    • index(Optional):数组中正在处理的当前元素的索引。
    • array(Optional):调用了数组过滤器。
  • thisArg(Optional):执行回调时用作 this 的值。

范例1:filter函数过滤数组中所有大于5的数值


var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var result = numbers.filter(number => number > 5);
console.log(result);

输出:



[ 6, 7, 8, 9, 10 ]

范例2:filter 函数过滤数组中所有长度大于 5 的单词


var words = ["hi", "hello", "hey", "apple", "watermelon",
             "lemon", "javascript"];
var result = words.filter(word => word.length > 5);
console.log(result);

输出:

[ 'watermelon', 'javascript' ]

范例3:filter 函数从数组中过滤掉所有无效的用户 ID。


var jsonarr = [
    {
        id:1,
        name:"joe"
    },
    {
        id:-19,
        name:"john"
    },
    {
        id:20,
        name:"james"
    },
    {
        id:25,
        name:"jack"
    },
    {
        id:-10,
        name:"joseph"
    },
    {
        id:"not a number",
        name:"jimmy"
    },
    {
        id:null,
        name:"jeff"
    },
]
  
var result = jsonarr.filter(user => user.id > 0);
  
console.log(result);

输出:

[{"id":1,"name":"joe"},{"id":20,"name":"james"},
{"id":25,"name":"jack"}] 



相关用法


注:本文由纯净天空筛选整理自IshjotSingh97大神的英文原创作品 ES6 | Array filter() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。