Maison  >  Article  >  interface Web  >  Comment la fonction `sort()` de JavaScript fonctionne-t-elle avec les tableaux numériques ?

Comment la fonction `sort()` de JavaScript fonctionne-t-elle avec les tableaux numériques ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-07 21:31:02306parcourir

How does JavaScript's `sort()` function work with numerical arrays?

Comprendre la fonction sort() de Javascript

La méthode sort() en JavaScript est utilisée pour organiser les éléments d'un tableau dans un ordre spécifique. Pour trier les tableaux par ordre numérique, une fonction de rappel est fournie en argument. Cette fonction de rappel compare chaque paire d'éléments et renvoie une valeur basée sur la comparaison.

La fonction de rappel prend deux paramètres : "a" et "b", qui représentent les éléments comparés. La logique suivante est utilisée pour déterminer l'ordre de tri :

  • Si "a - b" est inférieur à 0, "a" est trié selon un indice inférieur à "b".
  • Si "a - b" est nul, "a" et "b" sont considérés comme égaux et aucun tri n'est effectué.
  • Si "a - b" est supérieur à 0, "b" est trié selon a indice inférieur à "a."

Pour illustrer cela, considérons le tableau [25, 8, 7, 41].

Exécution de la méthode sort()

La méthode sort() appelle de manière itérative la fonction de rappel pour comparer des paires d'éléments. La séquence de comparaisons suivante a lieu :

  • 25(a) - 8(b) = 17 (supérieur à zéro, donc triez "b" selon un indice inférieur à "a") : [8 , 25]
  • 8(a) - 7(b) = 1 (supérieur à zéro, donc triez "b" avec un indice inférieur à "a") : [8, 7, 25]
  • 8(a) - 41(b) = -33 (inférieur à zéro, donc triez "a" avec un indice inférieur à "b") : [8, 7, 41, 25]
  • 7(a) - 25(b) = -18 (inférieur à zéro, donc triez "a" avec un indice inférieur à "b") : [8, 7, 25, 41]

Fusionner les ensembles triés

Après chaque comparaison, les éléments triés sont fusionnés. Le tableau trié final est [8, 7, 25, 41].

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn