問題是我有一個配方對象數組。每個配方對象都有一些註釋。我想使用angular提供的$ filter服務對angularJS控制器中的數組進行排序。AngularJS自定義過濾器orderBy sortPredicate不工作
$scope.recipes = $filter('orderBy')($scope.data, function(recipe) {
return recipe.comments.length;
});
但它沒有給出所需的結果。但是,我能夠實現使用JS數組排序功能所期望的結果是這樣
$scope.data.sort(function(a, b) {
if (a.comments.length < b.comments.length) return 1;
if (b.comments.length < a.comments.length) return -1;
return 0;
});
的Plunkr對於同樣的情形是:http://plnkr.co/edit/L9Bt67xHRCJLBoWG8EZp?p=preview
在此先感謝。請幫忙!
謝謝。但我只想在控制器中執行此操作。有沒有辦法呢? –
好的,我和你在一起。好的。我已經添加了另一個答案 - 因爲這兩個答案都做同樣的事情,其他人可能會覺得它有用。 –