在angularjs中排序数组

Sye*_*yed 3 javascript sorting angularjs

我正在使用orderBy使用Angular JS对数组进行排序.但它仍然没有按特定键排序.

这是代码

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();
Run Code Online (Sandbox Code Playgroud)

});

小提琴

我打算看看基于"关键"的排序.泰卢固语应该是第一位的,接下来的是英语,最后是印度语.

gau*_*430 12

你需要:

$scope.keys = $filter('orderBy')($scope.keys, 'key', false) 
Run Code Online (Sandbox Code Playgroud)

filter by order返回一个新数组,它不会对传递的数组进行更改.

更新小提琴:http: //jsfiddle.net/kjuemhua/17/