【发布时间】:2013-12-12 20:47:23
【问题描述】:
我有可以采用以下格式的数据:
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
有什么建议吗?
【问题讨论】:
-
这可能会为您指明正确的方向:stackoverflow.com/questions/19287716/…
-
数据不保证按反正排序。键的顺序将取决于实现(V8 或 Spidermonkey),但这不是您应该依赖的。您应该提取控制器中的键并以您想要的方式对其进行排序,而不是使用
ng-repeat的(k, v) in data表单。 -
我不认为您发布的内容是正确的 JS -- 我的意思是
var data部分。 -
@Cherniv 感谢您的精彩帖子,我认为这对我有用。
-
是的,这是一个非常简单实用的解决方案,它对我有用!
标签: angularjs key iteration natural-sort