我正在使用 Angular JS 使用 orderBy 对数组进行排序。但它仍然没有按照特定的键进行排序。
这是代码
var app = angular.module('sortModule', [])
app.controller('MainController', function($scope,$filter){
$scope.languages = [
{ name: 'English', image: '/images/english.png',key:2 },
{ name: 'Hindi', image: '/images/hindi.png',key:3 },
{ name: 'English', image: '/images/english.png',key:2},
{ name: 'Telugu', image: '/images/telugu.png',key:1 }];
var newLanguages = []
newLanguages = angular.copy($scope.languages);
function sortImages() {
$scope.languages = []
$scope.keys = []
for(language in newLanguages) {
$scope.keys.push(newLanguages[language])
}
$filter('orderBy')($scope.keys, 'key')
console.log(JSON.stringify($scope.keys))
}
sortImages();
});
我计划查看基于“键”的排序。泰卢固语应排在第一位,其次是英语,最后是印地语。
最佳答案
你需要:
$scope.keys = $filter('orderBy')($scope.keys, 'key', false)
order by filter 返回一个新的数组,它不会对传递的数组做任何改变。
更新的 fiddle : http://jsfiddle.net/kjuemhua/17/
关于javascript - 在angularjs中对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34782033/