Wie Sortieren Sie eine Karte von Wert in javascript?
var map = new Map();
map.set("orange",10);
map.set("apple",5);
map.set("banana",20);
map.set("cherry",13);
Wie man diese Karte Wert?
Map
ist eine Datenstruktur, die nicht in der Lage sein sollen sortiert werden. Sie speichert Schlüssel-Wert-Paare, und es gibt nicht viel Sinn in der Sortierung eine hashtable. Sie können konvertieren Sie Sie in ein array und Sortiere dieses array, wenn Sie wollen.Ich Stimme Sie sollte nicht davon abhängen, die Art der Karte
Mögliche Duplikate von Sortieren Wörterbuch-by-value in JavaScript
benutzen Sie einfach Objekte anstelle von Karten zu speichern, alphabetisch sortiert, lackierte Schlüssel:Wert-Paaren.
InformationsquelleAutor chenxinlong | 2016-06-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor Miroslav Savovski
Es ist ein Schlüssel-Wert-Zuordnung. Die Aufrechterhaltung der Reihenfolge, in der die Schlüssel eingefügt werden, Niederlagen der Vorteil von O(1) einfügen Zeit.
Warum würden Sie wollen, zu Sortieren? Wenn erforderlich, ist es besser, erhalten ein array von Schlüssel-Wert-Paaren und Sortieren Sie diese für den späteren Gebrauch. Für Ihren Fall,
Verwenden Sie eine benutzerdefinierte Sortierfunktion, die als
Anwenden, Sortieren,
Traverse sortiert keysArr und verwenden Sie die Elemente, die als Schlüssel für den Abruf Wert.
InformationsquelleAutor zapper123
In ES6 kann man es so machen: (nehme an, Ihr Map-Objekt ist
m
).den spread-operator verwandelt eine Map-Objekt in ein array, dann nimmt das zweite element jedes subarray erstellen ein neues array, dann Sortieren Sie. Wenn Sie möchten, um eine Sortierung in absteigender Reihenfolge ersetzen Sie einfach
a - b
mitb - a
.InformationsquelleAutor newguy
Können Sie Liste mit Karten anstelle von anzeigen nur.
Versuchen Sie dies:
Und wenn Sie Sortieren möchten, nach Menge, können Sie:
oder
InformationsquelleAutor Nguyễn Thắng