有时候我们前端也需要搞一搞搜索功能的
// 数据
let data=[
{
name:"小明",
sex:"男",
age:"17",
dtae:"2022-10-24 16:33:15"
},{
name:"小红",
sex:"女",
age:"16",
dtae:"2022-10-25 16:33:15"
},{
name:"小绿",
sex:"女",
age:"15",
dtae:"2022-10-26 16:33:15"
},
]
// 搜索条件
let filVal={
sex:"女",
age:"",
dtae:"2022-10-26"
}
let arr = fuzzySearch(data,filVal);
console.log(arr);
// {name: '小绿', sex: '女', age: '15', dtae: '2022-10-26 16:33:15'}
function fuzzySearch(data,fVal){
const genFilterFn = (item) => {
let i=0
for (let k in fVal) {
if(fVal[k]==''||fVal[k]=='全部'||item[k].indexOf(fVal[k])!=-1)i++
}
return i>=Object.keys(fVal).length?true:false
}
return data.filter(genFilterFn);
}