Javascript Angular.js ng在不知道密钥的情况下重复筛选

Javascript Angular.js ng在不知道密钥的情况下重复筛选,javascript,angularjs,json,Javascript,Angularjs,Json,我在ng repeat中筛选JSON文件时遇到问题 下面是我代码中的JSON数据,它来自Firebase { "850": { "buttonText": "Button TST", "description": "", "documentNumber": "850", "language": "fi", "special": false, "newOrder": 99000500850 }, "851": { "buttonText":

我在ng repeat中筛选JSON文件时遇到问题

下面是我代码中的JSON数据,它来自Firebase

{
"850": {
    "buttonText": "Button TST",
    "description": "",
    "documentNumber": "850",
    "language": "fi",
    "special": false,
    "newOrder": 99000500850
},
"851": {
    "buttonText": "eng ButtonTXT",
    "description": "I would like to get this",
    "documentNumber": "851",
    "language": "en",
    "special": false,
    "newOrder": 99000500851
},
"852": {
    "buttonText": "MORE FInnish button text",
    "description": "Oh my",
    "documentNumber": "852",
    "language": "fi",
    "special": false,
    "newOrder": 99000500015
       }
}
JSON数据存储在$ctrl.documentMatrixFirebase中。下面是Angular.js HTML。它是一个组件,除了过滤部分之外,它做我想做的事情

  <google-docs-card
  layout="column"
  ng-repeat="docButton in $ctrl.documentMatrixFirebase |  
  orderObjectBy:'newOrder' track by docButton.newOrder "
  document-data="docButton"
  subject="$ctrl.subject"
  id="docnum_{{docButton.documentNumber}}"></google-docs-card>

下面是我在没有运气的情况下尝试用于过滤的代码

<google-docs-card
  layout="column"
  ng-repeat="docButton in $ctrl.documentMatrixFirebase | 
  filter:docButton.language:'en' | 
  orderObjectBy:'newOrder' track by docButton.newOrder "
  document-data="docButton"
  subject="$ctrl.subject"
  id="docnum_{{docButton.documentNumber}}"></google-docs-card>


如果可能的话,我希望避免为这么简单的工作添加自定义过滤器。

看起来AngularJs to Array filter解决了这个问题:

我按照说明安装了数组过滤器,并像这样在HTML中使用它

<google-docs-card
  layout="column"
  ng-repeat="docButton in $ctrl.documentMatrixFirebase 
  |  toArray:false |  filter: {language: 'en'} 
  | orderObjectBy:'newOrder' track by docButton.newOrder"
  document-data="docButton"
  subject="$ctrl.subject"
  id="docnum_{{docButton.documentNumber}}"></google-docs-card>