2016-04-12 37 views
2

我想按字母順序排序和顯示數組,一旦用戶選擇或當我們從後端渲染數據時,我想按字母順序顯示fullName$scope.selecedControlOwnerng-click事件處理程序一旦用戶從模態窗口中選擇所有者並單擊確定ng-click事件觸發器並在父窗口上顯示值現在,我要觸發排序。如何使用AngularJs或Javascript對數組進行排序?

$scope.controlOwnerObj.workerName是將值綁定到父窗口的ng模型。

有沒有解決方案使用AngularJs或本地Javascript?

ctrl.js

$scope.selectedControlOwner = function() { 
     $scope.controlOwnerObj.workerName= $scope.selectedOwners.map(function (owner) { return owner.fullName; }).join(';'); 
    }; 


    $scope.selectedOwners = [{ 
      "workerKey": 46958, 
      "fullName": ,"Kumari, Swapna" 
     }, { 
      "workerKey": 746, 
      "fullName": "Mike Piero", 
     }, { 
      "workerKey": 150918, 
      "fullName": "A J, Jyothish", 
     }], 
+0

http://stackoverflow.com/questions/1129216/sort-array-of-objects-by-string-property-value-in-javascript – Kalman

+0

http://stackoverflow.com/questions/ 19259233/sorting-json-by-specific-element-alphabetically –

+1

[對JavaScript對象數組排序]的可能重複(http://stackoverflow.com/questions/979256/sorting-an-array-of-javascript-objects) – Igor

回答

2

採用javascript內置sort功能

$scope.selectedOwners = [{ 
      "workerKey": 46958, 
      "fullName": ,"Kumari, Swapna" 
     }, { 
      "workerKey": 746, 
      "fullName": "Mike Piero", 
     }, { 
      "workerKey": 150918, 
      "fullName": "A J, Jyothish", 
     }], 
$scope.selectedOwners.sort(function(a, b) { 
    return a.fullName.localeCompare(b.fullName); 
}); 
+0

這裏的問題是偶數組排序我將'$ scope.controlOwnerObj.workerName'賦值給ng模型,我們是否需要某些具有該屬性的東西在這裏有點混淆 – hussain

+0

@hussain如果你想擁有排序後的所有者名稱字符串,你必須在'map'之前排序你的數組,像這樣'.sort(function(a,b){return a.fullName.localeC ompare(b.fullName);})。map(function(owner){return owner.fullName; })。join(';');' – Farnabaz

+0

謝謝你解決了我的問題。 – hussain

0

我將只使用純JavaScript,因爲你給了我們作爲一個選項

這將它們排序,從低到高

var arr = [12, 213, 3, 121, 44, 12]; 
    arr.sort(function (x, y) { 
     return x > y; 
    }) 

一點也沒有不會返回一個新的數組。

結果:[3,12,12,44,121,213]

此將它們排序,從高度低

arr.sort(function (x, y) { 
     return x < y; 
    }) 

結果[213,121,44,12,12,3 ]

相關問題