数组多重条件过滤的方法
let array = [{
date: '2016-05-02',
name: 'Ethan',
status: 'success',
total: '81'
},
{
date: '2016-05-04',
name: 'Lynn',
status: 'fail',
tag: '50'
},
{
date: '2016-05-01',
name: 'Kevin',
status: 'success',
tag: '20'
}]
过滤条件为:
let filters = {
name: ['Lynn', 'Kevin'],
status: ['success']
}
筛选方法:
let keys = Object.keys(filters)
let result = array.filter(item => {
return keys.every(key => filters[key].indexOf(item[key]) !== -1)
})