Javascript 过滤对象数组时出现无限摘要错误
我有一个对象数组,如下所示:Javascript 过滤对象数组时出现无限摘要错误,javascript,angularjs,angular-filters,Javascript,Angularjs,Angular Filters,我有一个对象数组,如下所示: $scope.arr = [ {'val': true}, {'val': false}, {'val': false}, {'val': true}, {'val': false}, ] 我正在使用带有过滤器的ng repeat,该过滤器根据键“val”对数组进行排序,并将“val”设置为true的对象放在其他对象之前。以下是过滤器: app.filter('ownerFirst', [function() { r
$scope.arr = [
{'val': true},
{'val': false},
{'val': false},
{'val': true},
{'val': false},
]
我正在使用带有过滤器的ng repeat
,该过滤器根据键“val”对数组进行排序,并将“val”设置为true的对象放在其他对象之前。以下是过滤器:
app.filter('ownerFirst', [function() {
return function(list) {
list.sort(function(a, b) {
return a['val'] - b['val'];
})
return list;
}
}])
模板:
<div ng-repeat="obj in arr | ownerFirst">
但是我得到了一份工作。为什么会出现这种情况?我认为您不需要自定义过滤器,请尝试使用以下方法:
<div ng-repeat="obj in arr | orderBy: '-val'">
您需要将
-
-符号放在val
前面,因为您需要降序排序。试试这个如果我这样做,我必须将arr作为参数传递给“ownerFirst”过滤器。无论如何,让我试试……你在每次迭代中对数组进行排序。尝试在ng重复之前对数组进行排序。我可以这样做,但我想问的是,在这种情况下为什么会出现错误?谢谢。“-”是否正好在val之前用于反向排序?