Angularjs 二维数据,不显示结果

Angularjs 二维数据,不显示结果,angularjs,Angularjs,我是angularJs的初学者 我有两个维度的json数据: [ { "nom": "Name 1", "subventions": [ { "beneficiaire": "ben\u00e9f Phipippe C mars 2015", "montant": "7<span class='space'><\/span>898,99",

我是angularJs的初学者

我有两个维度的json数据:

[
    {
        "nom": "Name 1",
        "subventions": [
            {
                "beneficiaire": "ben\u00e9f Phipippe C mars 2015",
                "montant": "7<span class='space'><\/span>898,99",
                "annee": 1,
                "trimestre": 4,
                "infoAdditionnelle": "<p>info mars - 2015<\/p>\r\n<div id=\"nested_deluminate_fullscreen_workaround\" style=\"background-color: rgba(0, 0, 0, 0);\">\u00a0<\/div>"
            },
            {
                "beneficiaire": "cvbcvbn",
                "projet": "<p>cvnnncbcnbcbn<\/p>",
                "circonscription": "456sdxfvxc",
                "montant": "131,00",
                "annee": 3,
                "trimestre": 2,
                "infoAdditionnelle": "<p>test<\/p>"
            }
        ]
    },
    {
        "nom": "Name 2",
        "subventions": [
            {
                "beneficiaire": "pierre m",
                "montant": "1<span class='space'><\/span>000,00",
                "annee": 3,
                "trimestre": 1,
                "infoAdditionnelle": "<p>avtil 2015-16<\/p>"}
        ]
    },
    {
        "nom": "Name 3",
        "subventions": [
            {
                "beneficiaire": "bene pierre p avril 2015-16",
                "montant": "1<span class='space'><\/span>222,00",
                "annee": 3,
                "trimestre": 1,
                "infoAdditionnelle": "<p>p avril 2015-16<\/p>"
            }
        ]
    }
]
它并不适用于所有情况,您可以在这里看到一个示例

如果你在“Trimestre”中点击“Juillet-septembre”,我得到一个结果,但显示“no results”消息

你看到错误了吗?请帮忙


非常感谢

正如您在评论中已经猜到的,您只检查了第一行。修复方法是使用
数组检查所有行,例如这样。一些
(如果数组中至少有一项对于作为参数给定的函数返回true,则返回true)

编辑:需要将筛选更新为单个筛选


因为filterArray(resultsPersonnes)。长度实际上是0。我想这是因为[0]总是检查第一行。但我如何修复它?我应该放什么?我迷路了!我看到的唯一问题是,当我将下拉值更改为2014-2015,然后单击“Juillet-Septbrare”时,没有结果,但“无结果”“消息未显示:(啊,非常正确,我的错误在于遗漏了这一点。在这种情况下,您只需要进行一次筛选,请参阅我编辑的答案。”。
$scope.filterArray = function(resultsPersonnes) {
    var data = resultsPersonnes.filter(function(prop) {
        return prop.subventions[0].annee == $scope.annee.id;
    });
    if ($scope.myFilter.trimestre > 0) {
        return data.filter(function(prop) {
            return prop.subventions[0].trimestre == $scope.myFilter.trimestre;
        });
    } else {
        return data
    }

}
$scope.filterArray = function(resultsPersonnes) {
    var data = resultsPersonnes.filter(function(prop) {
      return prop.subventions.some(function (subvention) {
        var anneeMatches = subvention.annee == $scope.annee.id;
        var trimestreMatches = true;
        if ($scope.myFilter.trimestre > 0) {
          trimestreMatches = subvention.trimestre == $scope.myFilter.trimestre;
        }
        return anneeMatches && trimestreMatches;
      });
    });
    return data;
};