Si vous travaillez avec JavaScript depuis un certain temps, vous devez connaître la fonction de tri de tableau sort. Sort est une méthode dans le prototype de tableau, à savoir array.prototype.sort(), sort(compareFunction), où compareFunction est un. fonction de comparaison. Jetons un coup d'œil à une description de Mozilla MDN :
Si compareFunction n'est pas fourni, les éléments sont triés en les convertissant en chaînes et en comparant les chaînes dans l'ordre lexicographique (« dictionnaire » ou « annuaire téléphonique », pas numérique). Par exemple, « 80 » précède « 9 » en lexicographique. ordre, mais dans un tri numérique, 9 vient avant 80.
Regardez quelques exemples simples ci-dessous :
// Sortie ["a", "b", "c"]
console.log(["c", "b", "a"].sort());
// Sortie [1, 2, "a", "b"]
console.log(["b", 2, "a", 1].sort());
Comme vous pouvez le voir dans l'exemple ci-dessus, la valeur par défaut est de trier par ordre alphabétique dans le dictionnaire.
Heureusement, le tri accepte une fonction de comparaison personnalisée, comme dans l'exemple suivant :
Après le tri, nous nous posons une autre question, comment contrôler l'ordre croissant et décroissant ?
Les règles de tri de comparFunction sont les suivantes :
1.S'il renvoie un nombre négatif, a sera trié selon un index inférieur dans le tableau.
2. S'il renvoie un nombre positif, a sera trié selon un index plus élevé.
3.Et s'il renvoie 0, aucun tri n'est nécessaire.
Jetons un coup d'œil à un extrait de Mozilla MDN :
Le comportement de la méthode de tri a changé entre JavaScript 1.1 et JavaScript 1.2.Pour expliquer cette description, regardons un exemple :
Dans JavaScript 1.1, sur certaines plateformes, la méthode de tri ne fonctionne pas sur toutes les plateformes pour JavaScript 1.2.
Dans JavaScript 1.2, cette méthode ne convertit plus les éléments non définis en null ; elle les trie plutôt vers l'extrémité supérieure du tableau. Veuillez cliquer ici pour plus de détails.
J'espère que cet article vous sera utile pour apprendre et comprendre la méthode sort(). J'espère que vous critiquerez et corrigerez toute inadéquation dans l'article.
Lien de référence : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort