J'ai un tableau 2D comme: Je souhaite trier les premières valeurs d'index - [2,6] devrait venir avant [12,6], [16,6], [16,6 ] ... [4,4] avant [7,4] dans cet ordre ... d'obtenir: p>
3 Réponses :
Vous pouvez trier par le premier élément comme celui-ci.
p>
const myArray = [ [20,6], [12,6], [17,6], [2,6], [11,5], [18,5], [7,4], [4,4] ];
let ans = myArray.sort( (a, b) => {
return a[0] - b[0]
})
console.log(ans)Vous devez respecter le tri du deuxième élément de chaque tableau:
1 code> descendant, li>
- Trier par index
0 code> ascendance. li>
ol> p>
const array = [[20, 6], [12, 6], [17, 6], [2, 6], [11, 5], [18, 5], [7, 4], [4, 4]];
array.sort((a, b) => b[1] - a[1] || a[0] - b[0]);
console.log(JSON.stringify(array));
Vous pouvez définir un tri avec une fonction de comparaison. voici la référence pour la fonction de tri - Trier () P> P>
C'est probablement un duplicata, mais vous pouvez le faire comme ça ..
myarray.sort ((a, b) => b [0] - A [0]) code>@ Halilçakar qui ne fonctionne pas.
Si nous le trions en première valeur comme vous l'avez mentionné, votre sortie attendue est fausse alors.
@ Halilçakar
a [0] - b [0] code> plutôt