Hallo,
ich habe folgende Objektstruktur:
Ich hätte gerne die Keys (hier key1, key2) nach den Werten (hier valuex) eines bestimmten Sub-Keys (hier subkeyx) sortiert.
Meine aktuelle Lösung:
Geht das leichter bzw. performanter?
Danke und Grüße
nrg
- - - Aktualisiert - - -
Vielleicht noch als Zusatz. Ich glaube nicht unbedingt, dass es sehr viel "leichter" geht. Mich stört an der Lösung nur, dass 2x über das Array iteriert wird, plus Sortierung.
mir geht es in erster Linie um Performance. Halbwegs transparent sollte das ganze trotzdem bleiben. Ich kann mir nur vorstellen, dass es mit einem eigenen Sortier-Algorithmus schneller geht... Aber das will ich mir nicht unbedingt ans Bein binden.
ich habe folgende Objektstruktur:
Code:
{key1:
{subkey1 : value1,
subkey2 : value2,
subkey3 : value3},
key2:
{subkey4 : value4,
subkey5 : value5,
subkey6 : value6}
};
Ich hätte gerne die Keys (hier key1, key2) nach den Werten (hier valuex) eines bestimmten Sub-Keys (hier subkeyx) sortiert.
Meine aktuelle Lösung:
Code:
function getSortedKeyArray(object, sortValueKey) {
var sortedKeys = [];
for (var key in object) {
sortedKeys.push({k : key, v : object[key][sortValueKey]});
}
sortedKeys.sort(function(a, b) {
return a.v == b.v ? 0 : a.v < b.v ? -1 : 1;
});
for (var i = 0; i < sortedKeys.length; i++) {
sortedKeys[i] = sortedKeys[i].k;
}
return sortedKeys;
}
Geht das leichter bzw. performanter?
Danke und Grüße
nrg
- - - Aktualisiert - - -
Vielleicht noch als Zusatz. Ich glaube nicht unbedingt, dass es sehr viel "leichter" geht. Mich stört an der Lösung nur, dass 2x über das Array iteriert wird, plus Sortierung.
mir geht es in erster Linie um Performance. Halbwegs transparent sollte das ganze trotzdem bleiben. Ich kann mir nur vorstellen, dass es mit einem eigenen Sortier-Algorithmus schneller geht... Aber das will ich mir nicht unbedingt ans Bein binden.
Zuletzt bearbeitet von einem Moderator: