2016-04-12 7 views
2

Ich wollte Array in alphabetischer Reihenfolge sortieren und anzeigen, sobald der Benutzer die Auswahl trifft oder wenn wir Daten vom Backend rendern wollen. Ich möchte fullName in alphabetischer Reihenfolge anzeigen. $scope.selecedControlOwner ist ng-click Event-Handler einmal Benutzer wählen Besitzer aus dem modalen Fenster und klicken Sie auf OK Ereignis-Trigger und Anzeige von Werten im übergeordneten Fenster Jetzt hier möchte ich die Sortierung auslösen.Wie kann ich Array mit AngularJs oder Javascript sortieren?

$scope.controlOwnerObj.workerName ist das ng-Modell, das die Werte an das übergeordnete Fenster bindet.

Gibt es eine Lösung mit AngularJs oder nativem 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-alphabetisch –

+1

Mögliches Duplikat von [Sortierung eines Arrays von JavaScript-Objekten] (http://stackoverflow.com/questions/979256/sorting-an-array-of-avascript-objects) – Igor

Antwort

2

verwenden javascript sort Funktion eingebaut-

$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

Problem hier ist sogar Array sortiert ich bin '$ scope.controlOwnerObj.workerName' zu ​​dem ng-Modell zuweisen, müssen wir etwas mit dieser Eigenschaft wenig verwirren hier – hussain

+0

@hussain, wenn Sie sortierte Zeichenfolge von Eigentümernamen müssen Sie müssen sortiere dein Array vor 'map', wie dies' .sort (function (a, b) {return a.fullName.localeC ompare (b.fullName);}). map (Funktion (Eigentümer)) {return owner.fullName; }). join (';'); ' – Farnabaz

+0

Vielen Dank, dass mein Problem gelöst wurde. – hussain

0

ich nur reine Javascript verwenden werden, da Sie uns gegeben haben, dass als Option

Diese auf Höhe sie von niedrigen sortiert

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

Es spielt keine 't gibt ein neues Array zurück.

Ergebnis: [3, 12, 12, 44, 121, 213]

diese sortiert sie aus großer Höhe auf niedriges

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

Ergebnis [213, 121, 44, 12, 12, 3 ]

Verwandte Themen