2015-08-18 6 views
7

Ich habe eine Spalte, in der ich die E-Mail des Benutzers anzeigen kann, ich habe Sortierfunktion hinzugefügt. Aber das resultierende Array ist nicht richtig sortiert.Problem beim Sortieren von E-Mail-Werten mit der benutzerdefinierten Sortierfunktion von AngularJS

Sample code is here

Jede Hilfe wird

<ul ng-repeat="user in users | orderBy:'email':false"> 

Im Beispielcode zu erkennen ist, Ausgabe von sorting [Aufsteigend] ist

[email protected]
abc @ abc.com
[email protected]

Aber Erwarteter Ausgang ist

[email protected]
[email protected]
[email protected]

+1

Bitte alle relevanten Code in der Frage stellen und die erwarteten Ergebnisse liefern. Was bedeutet "nicht richtig sortiert"? Demo scheint zu funktionieren – charlietfl

+1

Die Sortierung ist in Ihrem Code ziemlich richtig. Sortierung nach Alphabet – Hmahwish

+0

'['[email protected]', '[email protected]', '[email protected]']. sort()' erzeugt die gleiche Reihenfolge. Hat nichts mit eckigen selbst zu tun – charlietfl

Antwort

2

Der Hinweis ist eine benutzerdefinierte Sortierfunktion nutzen zu können und um die E-Mail unter dem @ Symbol zu "schneiden". Andernfalls wird die ganze Zeichenfolge verglichen und @ ist höher als +.

Wenn Sie nur die Usernames übereinstimmen möchten, sollten Sie in Ordnung sein. Andernfalls müssen Sie auch die Domänen vergleichen, bevor Sie Usernames vergleichen.

ist hier ein JS Fiddle: http://jsfiddle.net/zjvsu/898/

+0

Ich habe Ihre Antwort bearbeitet, um die JS Fiddle Link zu enthalten. :-) – onebree

+0

Danke. Es hat für mich funktioniert ... :) –

+0

Danke für Feedback und Editing;) Ich bin froh, dass ich helfen konnte :) – Erik

Verwandte Themen