Wie bereits erwähnt, sollten Sie eine benutzerdefinierte Sortierfunktion verwenden. Hier ist eine, die genau das tun würde, was Sie wollen.
%Vor% Soweit ich weiß, müssen Sie Ihre eigene Sortierfunktion durchführen
Wenn Sie es in einem Objekt speichern können, wird das Ausführen einer Funktion wie in der vorherigen Antwort ausgeführt.
Siehe Sortiere ein Array von Objekten
Eine andere Methode besteht darin, für jeden Array-Eintrag, z. 1000 * Anzahl der Stimmen + Kandidatenzahl, so dass dieser Wert eindeutig und eindeutig ist, z. Wir erhalten 1003, 1002, 5, 4, 1. Fügen Sie einen Schlüssel hinzu, der auf das ursprüngliche Array verweist und sortiert.
Also würden wir [[1003,0], [1002,1], [5,2], [4,3], [1,4]] nach dem ersten Element jedes Subarrays sortieren.
Es gibt eine Diskrepanz in Ihrem Sortiersystem, Sie verwenden hohe & gt; niedrig für Stimmen und niedrig-hoch für Kandidatennummer.
Um ein mehrdimensionales Array zu sortieren, das zuerst mit der Koordinate 0 und dann mit der Komponente 2 verglichen wird, können Sie zwei Vergleichsfunktionen mit ||
kombinieren:
vergleichen 0-Koordinaten
||
vergleichen 2-Koordinaten
Bei numerischen Werten verwenden Sie einfach eine Differenz als Vergleichsfunktion, da x - y
ist:
x == y
x > y
x < y
Passen Sie die Reihenfolge der Elemente in den Unterschieden an, um aufsteigende / absteigende Reihenfolge zu berücksichtigen.
Tags und Links javascript arrays sorting multidimensional-array