角度重复(键,值)|按价值排序

时间:2015-09-18 15:27:24

标签: javascript angularjs ng-repeat

是否可以订购这样的数组:

ng-repeat="(key, value) in sets | orderBy: value['ordering']"

这是我的阵列:

[{
"item 1": {
  "type": "text",
  "value": "1",
  "ordering": 1
},
"item 2": {
  "type": "text",
  "value": "4",
  "ordering": 3
},
"item 3": {
  "type": "text",
  "value": "8",
  "ordering": 2
}
}]

应输出:Item 1, Item 3, Item 2

编辑:我也需要密钥

2 个答案:

答案 0 :(得分:2)

你错误地解释了你拥有的数组。

您的数组由一个大对象组成,您无法在javascript中对对象进行排序。修复结构,以便拥有多个对象的数组。

[{
  "item": 1,
  "type": "text",
  "value": "1",
  "ordering": 1
}, {
  "item": 2,
  "type": "text",
  "value": "4",
  "ordering": 3
}, {
  "item": 3,
  "type": "text",
  "value": "8",
  "ordering": 2
}]

然后你可以使用常规阵列转发器

ng-repeat="set in sets | orderBy: 'ordering'"

答案 1 :(得分:0)

我不需要key,你可能不想试试这个:

https://github.com/fmquaglia/ngOrderObjectBy