el-table 前端多条件查询(包括范围选择、和数组选择等)
问题描述
根据条件,在数组对象中筛选出来相关数据
// 条件
const condition = {
age: {
max: 22,
min: 16
},
companyAge: {
max: 4,
min: 6
},
higDegree:['初中','高中'],
positionKind: ['销售'],
staffRank:['D2','其他'],
name: '小明'
}
// 数据源
const dataSource = [
{
age: 18,
companyAge: 7,
higDegree: '初中',
positionKind: '销售',
staffRank: 'D2',
name: '小明'
},
{
age: 18,
companyAge: 4,
higDegree: '高中',
positionKind: '销售',
staffRank: 'D2',
name: '小张'
},
{
age: 20,
companyAge: 4,
higDegree: '高中',
positionKind: '其他',
staffRank: 'D2',
name: '小亮'
},
{
age: 19,
companyAge: 4,
higDegree: '高中',
positionKind: '其他',
staffRank: 'D2',
name: '小红'
},
{
age: 19,
companyAge: 4,
higDegree: '高中',
positionKind: '销售',
staffRank: 'D2',
name: '小东'
},
{
age: 23,
companyAge: 4,
higDegree: '高中',
positionKind: '销售',
staffRank: '其他',
name: '小光'
},
]
你期待的结果是什么?
1.同时满足condition条件的才能被筛选出来
2.区间选择的:代表数据源的某个属性在这个区间内,
多选择的:代表数据源的属性值能匹配上任一项
3.比如:
条件是condition = {
age: {
max: 20,
min: 18
},
companyAge: {
max: 5,
min: 4
},
higDegree:['初中','高中'],
positionKind: ['销售'],
staffRank:['D2','其他'],
name: ''
}
能匹配上的数据源有:
[
{
age: 19,
companyAge: 4,
higDegree: '高中',
positionKind: '销售',
staffRank: 'D2',
name: '小东'
}
]
输出: