嵌套ng重复,自然排序键

时间:2013-12-12 20:47:24

标签: angularjs key iteration natural-sort

我的数据可采用以下格式:

var data = 
{
0:[1:"a", 2:"b", 11:"c", 22:"d"],
1:[1:"e",2:"f",11:"g",22:"h"]
}

如果我执行以下操作:

<div ng-repeat="(key, value) in data">
    <div ng-repeat="(innerKey, innerValue) in value">
        {{innerKey}}
    </div>
    <br/>
</div>

这会给我:

1 11 2 22
1 11 2 22

因为它是按键上的字符串比较排序,而不是键的数值

我真正想要的是:

1 2 11 22
1 2 11 22

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果您可以稍微重组一下数据,可以尝试一下。我删除了嵌套数据以简化核心问题。

http://jsfiddle.net/rsmclaug/BHF9C/

此外,数据原样不是有效的数组语法。

<div ng-repeat="item in data | orderBy:'key'">
    {{item.key}} - {{item.value}}
</div>

$scope.data = [
    {key: 1, value: "a"}, 
    {key: 12, value: "c"}, 
    {key: 2, value: "b"}, 
    {key: 22, value:"d"}
];