Si j'ai un objet JavaScript comme :
var list = { "you": 100, "me": 75, "foo": 116, "bar": 15 };
Existe-t-il un moyen de trier les propriétés en fonction de leur valeur ? Alors j'ai fini par avoir
list = { "bar": 15, "me": 75, "you": 100, "foo": 116 };
Nous ne voulons pas copier la structure entière des données, ni utiliser un tableau là où un tableau associatif est requis.
Voici une autre façon de faire la même chose que bonna :
Déplacez-les dans un tableau, triez le tableau et utilisez ce tableau à vos fins. La solution est la suivante :
Une fois que vous avez le tableau, vous pouvez reconstruire les objets du tableau dans l'ordre de votre choix, réalisant exactement ce que vous voulez faire. Cela fonctionne dans tous les navigateurs que je connais, mais cela dépend des bizarreries de mise en œuvre et peut tomber en panne à tout moment. Vous ne devez jamais faire d'hypothèses sur l'ordre des éléments dans un objet JavaScript.
Dans ES8, vous pouvez convertir un objet en tableau en utilisant
Object.entries()
: