一个数组,根据动态条件过滤出想要的数据
数据
let dragList = [
{name:'张三',age:13,sex:1,height:'172cm'},
{name:'李二',age:15,sex:1,height:'182cm'},
{name:'华风',age:13,sex:0,height:'162cm'},
{name:'黄武',age:12,sex:0,height:'175cm'}
]
条件是动态给值的,有可能一个 有可能三个。
let rightFilters = {
age:13,
sex:1
}
大概的思路
let list
for (const key in this.rightFilters) {
this.rightFilters[key] = this.rightFilters[key]?.toLocaleLowerCase()
if(this.rightFilters[key]){
list = this.dragList.filter(item => {
item[key].toLocaleLowerCase().includes(this.rightFilters[key])
})
}
}
不吝赐教,感谢大神们分享。
简写一下就是这样了
相关阅读
Array.prototype.filter() - JavaScript | MDN
Array.prototype.some() - JavaScript | MDN
Object.keys() - JavaScript | MDN