Tri d'un trableau

Par Weezy, il y a 9 ans


Bonjour à tous

voila mon petit souci,

J'ai un tableau de type:

nuage,6.666666666666667 mots,6.666666666666667 cristal,6.666666666666667 autriche,26.666666666666668 dell,6.666666666666667 accrocher,6.666666666666667 stage,13.333333333333334 police,6.666666666666667 france,6.666666666666667 clavier,6.666666666666667 smartphone,6.666666666666667

Je veux le trier par ordre décroissant.

Quand j'exécute ceci:

function compare(a, b) { return b - a; } var list =new Array(); for (var index in newArray){ list.push(new Array(index, (newArray[index]/words.length)*100)); } list.sort(compare);

J'obtiens ce tableau:

smartphone,6.666666666666667 clavier,6.666666666666667 france,6.666666666666667 police,6.666666666666667 stage,13.333333333333334 accrocher,6.666666666666667 dell,6.666666666666667 autriche,26.666666666666668 cristal,6.666666666666667 mots,6.666666666666667 nuage,6.666666666666667

Je constate qu'il n'est pas trier convenablement.

Une petite aide ne serait pas de refus :)

Merci

2 réponses

Orodan, il y a 9 ans

Bonjour,

Tout d'abord, je pense que tu te simplifierais beaucoup la vie en utilisant un tableau d'objets plutôt que d'enchaîner tableau sur tableau comme tu le fais.

Ensuite, étant donné que les éléments de ton tableau sont eux-mêmes des tableaux, tu ne peux pas les comparer simplement avec l'opérateur '-'. Dans ton cas, la comparaison devrait ressembler à quelque chose comme ça plutôt :

function compare (a, b) {
return a[1] - b[1];
}

J'espère que cela t'aideras :)

Weezy, il y a 9 ans

Merci pour ton aide Orodan ;)