JSON alphabetisch sortieren

7

Ich habe ein JSON-Objekt basierend auf Daten, die in einer Tabelle gespeichert sind. Ich muss dann in der Lage sein, es auf verschiedene Arten zu sortieren, aber wenn ich JSON.stringify(array) mache und versuche, von dort zu sortieren, funktioniert es nicht. Wenn ich versuche, array.sort(); zu tun, wird die Reihenfolge geändert, funktioniert aber letztendlich nicht. Ich habe nicht viel Erfahrung mit JSON und wie man es betreibt, also bin ich mir nicht sicher, was ich sonst noch versuchen sollte. Nach dem Sortieren muss ich die Tabelle mit der ausgewählten Kategorie in alphabetischer Reihenfolge neu schreiben.

Der JSON sieht so aus:

%Vor%

Ich habe ein Geige Setup hier: Ссылка und ich habe versucht, was vorgeschlagen wurde hier konnte aber nicht funktionieren.

Ich habe zwei Fragen, eine: Wie gehe ich vor, um dies zu erreichen, und zwei: Gibt es eine bessere Möglichkeit, die Sortierung zu tun?

    
jezza-tan 07.12.2011, 16:47
quelle

5 Antworten

6

Definieren Sie zuerst eine Vergleichsfunktion:

%Vor%

Verwenden Sie Folgendes, um das Array in der ersten Spalte zu sortieren:

%Vor%

Oder, um nach der ersten Spalte A-Z zu sortieren, und nach der zweiten Spalte Z-A, wenn die erste Spalte gleich ist:

%Vor%     
Bart 07.12.2011, 17:10
quelle
6

siehe unten Code ....

%Vor%

Hilft das?

    
MANISHDAN LANGA 07.12.2011 16:55
quelle
5

Die Mozilla-Entwicklerdokumentation enthält eine hilfreiche Erklärung der Sortierfunktion. Sie können eine Funktion als Parameter angeben, der dem Browser mitteilt, wie die Sortierung durchzuführen ist.

Ссылка

Irgendein Pseudocode von dieser Verbindung, wobei der myArray.sort-Aufruf hinzugefügt und der Funktionsname entfernt wurde:

%Vor%

EDIT: Es sieht so aus, als ob Sie ein Einzelelement-Array mit einem Objekt als Element haben. Objekte sind ungeordnet. Sie müssen es in ein Array transformieren, bevor es sortiert werden kann. Probieren Sie dies aus (mit den Funktionen "Object.keys" und "Array.prototype.map", die über augment.js für ältere Browser hinzugefügt wurden):

%Vor%

Dies wird Ihnen ein sortiertes, verschachteltes Array des Formulars geben:

%Vor%     
Roy Tinker 07.12.2011 16:52
quelle
2

Etwas dieser Art könnte hilfreich sein:

%Vor%     
Sudhir Bastakoti 07.12.2011 16:54
quelle
1

Wenn Sie dem Benutzer erlauben sollen, die Tabelle dynamisch zu sortieren, kann mein Ansatz leicht abweichen.

Es gibt viele jQuery-Tabellensortier-Plugins. Ich hatte mit diesem einen guten Erfolg: Ссылка

Erlaubt die mehrspaltige Sortierung, eine Standardsortierung, Verkabelung zu Ereignissen usw. ... etc ...

Auf diese Weise können Sie Ihre Tabelle so erstellen, wie Sie bereits sind, und das Sortieren kann bereits vor der Seitenausgabe sekundär erfolgen.

    
Betard Fooser 07.12.2011 17:07
quelle

Tags und Links