- 普通的搜索功能只需根据输入内容进行模糊查询即可得到结果
- 那么多个条件,可能是一个,两个或三个条件进行查询呢?
原理:
通过遍历搜索条件的每个属性,判断当前被查询的元素是否有满足条件的属性值;
可适用于一个或多个条件查询;
如果查询条件中有一个不满足,便不会通过筛选。
实例代码:
// 被搜索的数据
let ModelTableData = [
{
key1: value1,
key2: value2,
key3: value3
},
......
]
// 搜索的条件
let selectedOption={
key1:value1,
key2:value2,
......
}
// 搜索的结果
let searchResult = []
//## 重点
ModelTableData.map(item => {
let flag = true
// 遍历每个条件,如果selectedOption有一个条件没有被满足就返回 false
for (let key in selectedOption) {
if (item[key] !== selectedOption[key]) {
flag = false
break;
}
}
if (flag) {
searchResult.push(item)
}
});
console.log(searchResult);