使用字典数据对 AngularJS ng-repeat 进行排序

Cornelinux

我有一个字典(键值对),它可能是这样的:

data = {
    "key1": 1000,
    "key2": 2000,
    "key3": 500
}

我想在 AngularJS 的表格中查看这个。

我可以这样做:

<tr ng-repeat="(key, value) in data">
    <td>{{ key }}</td>
    <td>{{ value }}</td>
</tr>

到目前为止,这工作正常。

现在我想让表格按值排序。orderBy过滤器似乎只适用于对象列表:

<tr ng-repeat="(key, value) in data | orderBy: 'value'">

没有效果。我将如何按价值排序?

萨吉塔兰

orderBy适用于对象的属性,而不是您在键,值中提到的方式。它也需要一个数组作为输入,而不是一个对象。

您可以使用 angular.forEach 将其转换为数组并使用 orderBy 如下

演示

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
	var	data = {"key1": 1000,
        "key2": 2000,
        "key3": 500 }
  
  $scope.data = [];
  angular.forEach(data, function(value, key) {
      $scope.data.push({
          key: key,
          count: value
      });
  });
 });
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" href="style.css">
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
</head>

<body>
  <div ng-controller="myCtrl" ng-app="myApp">
    <ul>
      <li ng-repeat="element in data | orderBy:'count'">
        {{ element.key }} ({{ element.count }})
      </li>
    </ul>
  </div>

</body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AngularJS - 如何对使用 ng-repeat 创建的表进行排序

在AngularJS中对嵌套ng-repeat的元素进行排序

使用<tr ng-repeat>进行AngularJS <input>验证

如何在ng-repeat中对JSON数据进行排序?

AngularJS不按ng-repeat排序

AngularJS仅对ng-repeat表中的前两个项目进行排序

在angularjs的ng-repeat内的多维数组中对整数值进行升序排序

使用angularjs使用ng-repeat和json数据进行CSS星级评分

使用angularJS ng-repeat和ng-model进行动态多列过滤

AngularJS-如何正确使用ng -repeat

如何使用ng-repeat:Angularjs?

ng-repeat指令在使用(key,value)时对数据进行排序

从键值结构获取数据,并将其与AngularJS中ng-repeat的值进行比较

如何使用angularjs对过滤器进行ng-repeat?

在ng-repeat中使用AngularJS对按钮进行动画处理

ng-repeat数组,使用AngularJS按父对象的属性进行数组过滤

angularjs:仅使用表标签(tr和td)进行ng-repeat

AngularJs:使用两个不同的控制器进行ng-repeat搜索

使用NG-Repeat angularJS进行CSS图像格式化

AngularJS使用ng-repeat显示层次数据

如何使用angularjs在ng-repeat中打印Json数据?

在 AngularJS ng-repeat 中使用 2 个数组的数据

AngularJS使用json数据创建表Ng-Repeat

使用来自 firestore 的数据更新 angularjs ng-repeat

ng-repeat中的自定义顺序仅对特定数据进行排序

AngularJS:跨多个div进行ng-repeat

如何在AngularJs中将ng-repeat用于字典?

如何使用hashmap进行ng-repeat

AngularJS ng-repeat无法从crontoller获取数据