Javascript sapui5如何构造带AND和OR条件的嵌套过滤器
嗨,我有一个对象,数据如下Javascript sapui5如何构造带AND和OR条件的嵌套过滤器,javascript,jquery,arrays,object,sapui5,Javascript,Jquery,Arrays,Object,Sapui5,嗨,我有一个对象,数据如下 { status : [ "started", "completed"], branch : [ "India", "Germany" ] } 在这里,我想构造嵌套过滤器,如 状态为“已启动”或“已完成”,分支机构为印度或德国 我尝试了下面的代码 var oFilter = new sap.ui.model.Filter( keys.forEach(function(v) { var oItem = totalFilterValues[v];
{
status : [ "started", "completed"],
branch : [ "India", "Germany" ]
}
在这里,我想构造嵌套过滤器,如
状态为“已启动”或“已完成”,分支机构为印度或德国
我尝试了下面的代码
var oFilter = new sap.ui.model.Filter(
keys.forEach(function(v) {
var oItem = totalFilterValues[v];
if(v === "status"){
return new sap.ui.model.Filter(oItem.forEach(function(val) {
return new sap.ui.model.Filter("status",
sap.ui.model.FilterOperator.Contains, val);
}), false);
}
if(v === "branch"){
return new sap.ui.model.Filter(oItem.forEach(function(val) {
return new sap.ui.model.Filter("branch",
sap.ui.model.FilterOperator.Contains, val);
}), false);
}
}),true);
但是不起作用,你能帮我吗。我接着看了下面的代码片段
var oFilter = new sap.ui.model.Filter(mFacetFilterLists.map(function(oList) {
return new sap.ui.model.Filter(oList.getSelectedItems().map(function(oItem) {
return new sap.ui.model.Filter(oList.getTitle(), "EQ", oItem.getText());
}), false);
}), true);
对于多个过滤器:
var oStatusFilter = new sap.ui.model.Filter('status', function(oValue) {
if (oValue === "started" || oValue === "completed")
return true;
else return false;
});
var oCountryFilter = new sap.ui.model.Filter('branch',
function(oValue) {
if (oValue === "India" || oValue === "Germany")
return true;
else return false;
}
);
var oFilters = new sap.ui.model.Filter([oCountryFilter, oStatusFilter], true
});
请阅读此处的更多内容感谢您的回复,但此处我没有使用面过滤器,我获取的值与上述值相同,我需要循环使用我需要准备过滤器的值,这是我面临的问题所在。哦,好的。让我重新编码。稍后将发布。我在外面