filter()方法筛选出数组中满足条件的元素

在开发中遇到对复杂数组中筛选出满足条件的数组元素,进行一下总结。

  • 语法

array.filter(function(currentValue,index,arr), thisValue)

 

  • 定义和用法

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

 

例如,返回数组中大于2小于8的数组元素。

1. ES6写法:

[1,2,3,4,5,6,7,8,9,10].filter((item)=>{return item>2 && item<8});

2. ES5写法:

[1,2,3,4,5,6,7,8,9,10].filter(function(item){
   return item>2 && item<8
});

 filter()方法对每个数组元素进行判断,回调函数callbak返回true的元素生成新数组,返回false的元素将被跳过,并且不包含在新数组中。

 

在实际的开发需求中,需要筛选出item.riskCode === "0XBB"或者item.riskCode === "0JKB"的元素,进行条件判断,代码如下:

let remit = this.epolicy.insuredWrapers[0].inspWrapers.filter(
    item => { item.riskCode == "0XBB" || item.riskCode == "0JKB" }
)

注意filter方法返回的是一个数组,对于筛选出的元素要引用时记得加下标,如remit[0]。

你可能感兴趣的:(filter()方法筛选出数组中满足条件的元素)