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
});

请阅读此处的更多内容

感谢您的回复,但此处我没有使用面过滤器,我获取的值与上述值相同,我需要循环使用我需要准备过滤器的值,这是我面临的问题所在。哦,好的。让我重新编码。稍后将发布。我在外面