1、语法
array.filter(function(currentValue,index,arr), thisValue)
说明:
currentValue:当前元素
index:当前元素的下标
arr:当前数组变量名
thisValue:可选,传递值给this,如不传,则this的默认值为undefined
2、示例
let arr = [56, 15, 48, 0, 7];
let newArr = arr.filter(function (value, index, array) {
console.log(index)
console.log(value)
console.log(array==arr)
console.log(this)
return value % 2 === 0;
},33);
filter会遍历每个元素,产生一个新的数组
3、示例
var arr = [{id:1, flag:true},{id:2,flag:false},{id:3, flag:true}]
var newarr = arr.filter(object => !object.flag)
filter中也可以允许箭头函数作为入参,上例中的object是指arr中的每一个元素,arr会过滤掉flag值为false的数组元素
4、示例
array.filter(Boolean)
等价于
array.filter((item) => {return Boolean(item)})
过滤掉0、undefined、null、NaN、''、false数组中为“假”的元素