AngularJS - 如何在ng-repeat中对类数组对象的值进行排序

Kev*_*eal 19 javascript sorting angularjs angularjs-ng-repeat

我有一个看起来像这样的对象:

{
    "03" : "Apple",
    "02" : "Banana",
    "01" : "Cranberry"
}
Run Code Online (Sandbox Code Playgroud)

它在我的ng-repeat中通过键(有意义)命令它.这导致标签不符合字母顺序("蔓越莓"是第一个).如何使它按照值(按字母顺序)命令我的转发器?

我可以按照我想要的ng-repeat的顺序提供它,但它按键排序.如果我能把它这样做,那么这也将正常工作.

ard*_*m-c 28

要在ngRepeat中对数组进行排序,您可以使用orderBy过滤器,但它仅适用于数组,因此您应该在ngRepeat中使用数组.

在控制器中它会是这样的:

$scope.myData = [
    {
        key:    "01",
        value:  "Cranberry"
    },
    {
        key:    "02",
        value:  "Banana"
    },
    {
        key:    "03",
        value:  "Apple"
    }
];
Run Code Online (Sandbox Code Playgroud)

并在HTML中:

<div class="item" ng-repeat="item in myData|orderBy:'value'">{{item.value}}</div>
Run Code Online (Sandbox Code Playgroud)