一、语法
array.filter(function(currentValue, indedx, arr), thisValue)
二、参数名称
currentValue:必须。当前元素的值;
index:可选。当前元素的索引值;
arr:可选。当前元素属于的数组对象;
thisValue:可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。 如果省略了 thisValue ,"this"的值为 “undefined”。
三、注意
- filter用于对数组进行过滤。
- 它创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
- 注意:filter()不会对空数组进行检测、不会改变原始数组
四、用法
1、单条件筛选数据
- 数组根据某个字段的值进行过滤,返回过滤后的集合,可以使用filter()方法
let array = [
{id:'001',name:'小强',key_dict:'是'},
{id:'002',name:'小明',key_dict:'是'},
{id:'003',name:'小紫',key_dict:'否'},
{id:'004',name:'小红',key_dict:'否'},
{id:'005',name:'小白兔',key_dict:'是'}
]
array = array.filter((item) => {
return item.key_dict == '否'
})
console.log("过滤出来的array",array)
结果为
{id:'003',name:'小紫',key_dict:'否'},
{id:'004',name:'小红',key_dict:'否'},
2、多条件筛选数据
let array = [
{id:'001',name:'小强',key_dict:'是'},
{id:'002',name:'小明',key_dict:'是'},
{id:'003',name:'小紫',key_dict:'否'},
{id:'004',name:'小红',key_dict:'否'},
{id:'005',name:'小白兔',key_dict:'是'}
]
array = array.filter((item) => {
return item.key_dict == '否'&&item.name =='小紫';
})
console.log("过滤出来的array",array)
结果为
{id:'003',name:'小紫',key_dict:'否'},