问题描述
qFilters= {EMPRESA: "EMPRESA='DEMO'",QTD: "QTD IS NOT NULL "," ": "OR MONTANTE IS NOT NULL"}
这是字符串结果:
whereStr += Object.values(qFilters).join(" AND ");
问题是我只需要加入具有属性名称的人。最后一个属性没有名字,所以我不需要“ AND”。
谢谢。
解决方法
这是一种可行的方法,但实际上,您可能应该重新考虑整个设计。当然,有更好的方法可以完成您想要做的事情。
{}
,
您可以使用Object.keys
来过滤密钥类型:
const qFilters= {EMPRESA: "EMPRESA='DEMO'",QTD: "QTD IS NOT NULL "," ": "OR MONTANTE IS NOT NULL"}
const res = Object.keys(qFilters).reduce((query,key) => {
if(!!key.trim()){
return [query,qFilters[key]].join(' AND ');
} else {
return [query,qFilters[key]].join(' ');
}
});
console.log(res)