一、问题需求
二、实现过程
1.代码示例
let params = Object.assign({}, this.searchKey, { //对象添加属性
page: this.pagination.current
})
Object.keys(params).forEach(key => { // 遍历对象删除属性值为空的属性
let item = params[key]
if (item === '' || typeof item === 'undefined') {
delete params[key]
}
}
this.tableData = []
this.source.filter(val => {
var isPush = true
console.log(Object.getOwnPropertyNames(params).length)
var len = Object.getOwnPropertyNames(params).length // 计算对象属性的数量
var keys = Object.keys(params);
// for循环依次判断数组对象的属性值与条件对象的各个属性值是否相等,若相等,添加该数组对象的对象
for (var i = 0; i < keys.length-1; i++) {
console.log(10010,val[keys[i]],params[keys[i]])
console.log(keys[i] + ":" + params[keys[i]]);
if (val[keys[i]] !== params[keys[i]]) {
isPush = false
break
}
}
if(isPush){
this.tableData.push(val)
}
});
总结
该方法目前临时解决方案;待优化,用于前端多条件查询相匹配的数据列表;