-1
如果我有值的數組:AngularJS自定義排序
[1,2,3,4,N/A,N/A,N/A]
如何創建自定義排序orderBy使字符串總是出現在底部?
升序例如:
[1,2,3,4,N/A,N/A,N/A]
降序例如:
[4,3,2, 1,n/a,n/a,n/a]
我試過使用函數表達式,但是並沒有做我所需要的。函數表達式只返回要排序的值,但是如何使用我自己的排序順序?
如果我有值的數組:AngularJS自定義排序
[1,2,3,4,N/A,N/A,N/A]
如何創建自定義排序orderBy使字符串總是出現在底部?
升序例如:
[1,2,3,4,N/A,N/A,N/A]
降序例如:
[4,3,2, 1,n/a,n/a,n/a]
我試過使用函數表達式,但是並沒有做我所需要的。函數表達式只返回要排序的值,但是如何使用我自己的排序順序?
您可以創建自定義過濾器,根據需要對陣列進行排序。
app.filter('customOrderBy', function() {
return function (arr) {
var numbers = [];
var strings = [];
angular.forEach(arr, function(item){
if(typeof item == 'number'){
numbers.push(item);
}
else
strings.push(item);
});
return numbers.sort().concat(strings);
};
});
陣列上你的NG-重複看起來象下面這樣:
<div ng-repeat="item in array | customOrderBy track by $index">
請注意,我用「軌道由$指數」那裏,因爲AngularJS NG重複指令,不允許在重複中繼器。 (你在你的數組中有重複的「n/a」字符串)
Plunker這裏按升序排列[2,3,1,4,'n/a','n/a ','n/a']:http://plnkr.co/edit/jmHly0lDb5IVeWd2XvHp?p=preview
非常感謝,我是新角度,這正是我需要的。 – 2014-10-07 02:04:50