javascript - 在angularjs中对数组进行排序

标签 javascript angularjs sorting

我正在使用 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();

});

Fiddle

我计划查看基于“键”的排序。泰卢固语应排在第一位,其次是英语,最后是印地语。

最佳答案

你需要:

$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/

相关文章:

Javascript 函数不打开嵌套可折叠

javascript - 拖动源容器时,jsPlumb 源连接器不会移动

c# - 如何强制刷新DataGridView 的内容?

java - 为什么我的 Go 数组排序代码比 Java 慢很多?

java - 使用 Arrays.sort() 和 Arrays.binarySearch() 获取存储在数组中的整数列表

javascript - 更改 Phaser.Sprite 某些颜色的不透明度

javascript - 如何使用 i++ 为文件上传字段追加子项?

javascript - Angular 1.6 ng-repeat 不显示搜索结果

javascript - Angular JS+Laravel -- 在 URL::route 外观中回显 Angular 数据

AngularJs ui-scroll 重新加载不起作用