//定义个数组
let tableData = [
{
name:'张山',
age:29,
address:'北京天安门故宫38号流动',
remak:'飞流直下三千尺'
},
{
name:'李四',
age:129,
address:'福建天安门故宫38号流动',
remak:'摩的嘟嘟'
},
{
name:'王五',
age:156,
address:'深圳天安门故宫38号流动',
remak:'疑是银河落九天'
},
{
name:'初音未来',
age:156,
address:'我有一个神奇的元宇宙',
remak:'我爱超男公关'
},
{
name:'李子',
age:156,
address:'马克思主义',
remak:'哦劳拉'
}
]
//匹配name和address这两个字段,进行这两个字段的模糊搜索
const str1 = '李' //name
const str2 = '马' //address
//cloneDeep是深度克隆
// this.tableData_backup = cloneDeep(tableData)
let searchResult = tableData.filter(item => {
if (str2 && str1) {
//如果两个搜索条件都有值,查找同时满足两个条件的
return ~item.address.indexOf(str2) && ~item.name.indexOf(str1)
} else if (str2 && !str1) {
return ~item.address.indexOf(str2)
} else if (!str2 && str1) {
return ~item.name.indexOf(str1)
} else if (!str2 && !str1) {
return true
}
})
console.log("这是搜索的结果:",searchResult)
name=‘李’,address=‘马’,同时满足这两个条件的模糊搜索出来的值是:
name=’’,address=‘天安门’,name为空,没有值,同时满足这两个条件的模糊搜索出来的值是: