动态进行数组的多条件筛选
如下希望筛选得到数组元素中edit_msr_price为1,edit_store_price为1,edit_supply_price为1的元素
其中change_type_checked是动态的
searchData = multiFilter(contract_goods_price_list, change_type_checked)
//contract_goods_price_list: 整个的数据
//change_type_checked: {edit_msr_price: 1, edit_store_price: 1, edit_supply_price: 1}
function multiFilter(array, filters) {
const filterKeys = Object.keys(filters)
// 过滤所有元素传递标准
return array.filter((item) => {
// 动态验证所有的过滤标准
return filterKeys.every((key) => {
//忽略当过滤器是空的
if (!filters[key] || !filters[key].length) return true
return filters[key] == item[key]
})
})
}