Angular ng-repeat (key, value) |按值排序

angular ng-repeat (key, value) | order by value

本文关键字:排序 value ng-repeat key Angular      更新时间:2023-09-26

是否可以这样排序数组:

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

编辑:我也需要键

你误解了你所拥有的数组。

你的数组由一个大对象组成,你不能在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'"

如果你不需要key,你可能不想尝试这个:

https://github.com/fmquaglia/ngOrderObjectBy