Tri Array Multidim. avec valeurs égales
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
function tri( a, b )
{
//return a[0] - b[0];
//ou
var v1 = parseInt(a[0]);
var v2 = parseInt(b[0]);
if ( v1 < v2 ) return -1;
if ( v1 > v2 ) return 1;
return 0;
} |
Mon problème:
un tableau trié sur une clé ayant des valeurs égales ne se tri pas correctement. Souvent la clé du milieu (c'est à dire ayant pour indice la moitié du nombre d'entrées) se retrouve en tête du tableau et le reste inchangé.
Ex:
tableau initial
0 => 0
1 => 0
2 => 0
3 => 0
4 => 0
5 => 0
6 => 0
7 => 0
8 => 0
9 => 0
10 => 0
devient
5 => 0
0 => 0
2 => 0
3 => 0
4 => 0
1 => 0
6 => 0
7 => 0
8 => 0
9 => 0
10 => 0
Merci pour votre aide.