J'ai un tableau et je veux trier par le champ de numéro pas le nom.Trier un tableau 2D par la deuxième valeur
var showIt = [
["nuCycleDate",19561100],
["ndCycleDate",19460700],
["neCycleDate",0],
["nlCycleDate",0]
];
Merci
J'ai un tableau et je veux trier par le champ de numéro pas le nom.Trier un tableau 2D par la deuxième valeur
var showIt = [
["nuCycleDate",19561100],
["ndCycleDate",19460700],
["neCycleDate",0],
["nlCycleDate",0]
];
Merci
vous pouvez fournir sort
avec une fonction de comparaison.
showIt.sort(function(a,b){
return a[1] - b[1];
});
a
et b
sont des éléments de votre tableau. Le tri attend une valeur de retour supérieure à zéro, zéro ou inférieure à zéro. le premier indique a
vient avant b
, zéro signifie qu'ils sont égaux, la dernière option signifie b
en premier.
This site déconseille d'utiliser les arguments sans affecter aux variables temporaires. Essayez ceci à la place:
showIt.sort(function(a, b) {
var x = a[1];
var y = b[1];
return x - y;
});
Ce site semble parler de réutiliser les noms des paramètres de rappel de tri dans la fonction. Il n'y a aucune raison de ne pas utiliser 'a [1] - b [1]' ici. –
Ah, bon point; puisque le rappel n'a aucune assignation. Oops. –
Merci, cela fonctionne. – Noe