en javascript, existe-t-il un moyen facile de trier les paires clé-valeur par la valeur et de renvoyer la clé?
En javascript, est-il un moyen facile de trier les paires clé-valeur par la valeur (la valeur est numérique), et de revenir sur la touche? JQuery façon de le faire serait utile.
(Il y a beaucoup de questions liées au sujet de paires clé-valeur ici, mais je ne trouve pas spécifiquement sur le tri.)
source d'informationauteur David Rhoden
Vous devez vous connecter pour publier un commentaire.
Il n'y a rien de facile à faire ce cross-browser. Dans l'hypothèse d'un tableau, telles que
... vous pouvez obtenir un tableau de la
key
propriétés triées parvalue
comme suit:Imaginons que nous avons une
Array
deObjects
comme:Nous pouvons appeler
Array.le prototype.sort()
aideutilisezArray.le prototype.map()
aide à la carte d'un nouveau tableau etde l'Objet.les touches()
aide pour récupérer la clé:Être conscient de,
Array.prototype.map()
nécessite l'activation de Javascript 1.6 etObject.keys()
est ECMAscript5 (nécessite Javascript 1.8.5).Vous allez trouver un autre code pour toutes ces méthodes sur le MDC.
Autant que je sache, il n'est pas intégré dans le code Javascript de la fonction de tri d'un tableau par ses touches.
Toutefois, cela ne devrait pas prendre trop de code pour le faire: il suffit d'extraire les clés dans leur propre tableau, de les trier à l'aide de la normale
sort
fonction, et de reconstruire la matrice dans le bon ordre. Quelque chose comme ceci devrait faire l'affaire:Maintenant, vous pouvez simplement appeler votre fonction comme ceci:
Et la sortie sera:
Espère que ça aide.
De travail page de test ici: http://jsfiddle.net/6Ev3S/
Donné
Vous pouvez trier
object
clés par leurs valeurs en utilisant les suivantes:Résultat
Si vous ne pouvez pas compter sur les exended tableau et les propriétés de l'objet,
vous pouvez utiliser le Tableau original méthodes-