filter() 方法创建一个新的数组并返回,在新数组中的元素是通过检查指定数组中也就是调用filter方法的数组中符合条件的所有元素。
调用方法:
array.filter(function(currentValue, currentIndex, originalArray), thisValue)
参数说明:
currentValue 必填。当前元素的值
currentIndex可选。当前元素的索引值
originalArray可选。当前元素所属于的数组对象,也就是调用此方法的数组
返回数组对象中存在某属性的对象
var newarr = [
{ num: 1, val: 'test', flag: 'aa' },
{ num: 2, val: 'exam', flag: 'bb' }
]
console.log(newarr.filter(item => item.num===2 ))
// 输出 {num: 2, val: "ceshi2", flag: "aa2"}
去除字符串中的空串,null,false,undefined
var arr2 = ['1','',undefined, null, false, '2',]
console.log(arr2.filter(item => item))
// 输出 ["1", "2"]
去除数组中不符合要求项
var arr3 = [20, 30, 40, 50, 60]
console.log(arr3.filter(item => item>35))
// 输出 [40, 50, 60]
去除数组中重复项
var arr4 = [1, 2, 2, 3, 4, 4, 5, 6, 6]
console.log(arr4.filter((value, index, array)=>array.indexOf(value)===index))
// 输出 [1, 2, 3, 4, 5, 6]