使用过滤器对 ng-repeat$scope对象进行排序
Using filter to sort $scope object in ng-repeat
我需要根据值对ng-repeat
中的$scope
对象进行排序。我能够通过自定义过滤器将其转换为array
来实现排序,但键或值只能推入array
。我需要键和值才能在 UI 中显示它:
$scope.list = {
test:58uy43: "test:one",
test:24ht76: "test:two",
test:26df90: "test:three",
test:39fg67: "test:four",
test:18ds65: "test:five"
}
<div ng-repeat="(key,value) in list">{{key}} : {{value}}</div>
请帮帮我解决这个问题
...ng-repeat="o in data |过滤器:过滤器 |orderBy:sortPredicate:sortReverse"...
其中"filter"是您要搜索的值(filter),"sortPredicate"是您想要排序的列名,"sortReverse"是指示记录顺序的布尔值。
我相信
最干净的方法是在控制器中定义一个返回排序列表的函数。
$scope.getListSorted = function() {
$scope.list.sort(function(a, b) { return /*comparison*/; });
};
对于数值,如果要升序排序,则应a.attr - b.attr
比较。
对于字符串值,比较应a.attr.localeCompare(b.attr)
。
然后您可以在视图中使用它
<div ng-repeat="(key,value) in getListSorted()">{{key}} : {{value}}</div>
相关文章:
- 如何在节点中进行 Json 对象排序.js
- jQuery.每个对象排序
- Javascript对象排序
- Javascript 对象排序
- Javascript中的JSON对象排序
- jQuery停止对象排序
- 带有下划线排序的对象排序的数组
- JS对象排序日期排序
- JSON对象排序被jQuery或Javascript篡改
- 高级对象排序
- 将json对象排序到嵌套树中
- 按两个不同的条件对数组中的对象排序
- 如何在angular js中使用自定义排序顺序对对象排序
- 在AngularJS的ng-repeat中,使用Underscore/Lodash按值将对象排序为一对数组
- 给定一个对象数组,如何根据深度为n的属性对对象排序
- JavaScript数组对象排序没有按预期工作
- 对数组内的对象排序
- 自定义javascript对象排序和维护索引关联
- Javascript对象排序不工作
- Javascript对象的对象排序