使用ng-repeat AngularJS计算数组中的项目

时间:2017-04-07 15:35:11

标签: javascript html angularjs angular-filters

我有一个像这样的JSON文件:

np.sum

我使用AngularJS过滤器在HTML中重复它:

14.1 µs

这是问题

  • C

    所以我想要计数项目,我希望像这样显示

  • 数字:2
  • B num:1
  • C num:2

    我该怎么做?

  • 1 个答案:

    答案 0 :(得分:3)

    只需使用angular-filter提供的groupBy过滤器,例如runnable fiddle demo

    视图

    <div ng-controller="MyCtrl">
      <ul ng-repeat="item in names | groupBy: 'name' ">
          <li>{{item[0].name}}: {{ item.length}}</li>
      </ul>
    </div>
    

    AngularJS应用程序

    var myApp = angular.module('myApp', ['angular.filter']);
    
    myApp.controller('MyCtrl', function($scope) {
      $scope.names = [{
        'name': 'A'
      }, {
        'name': 'A'
      }, {
        'name': 'B'
      }, {
        'name': 'C'
      }, {
        'name': 'C'
      }];
    });