Maison >interface Web >js tutoriel >Comment la méthode `sort()` de JavaScript utilise-t-elle une fonction de rappel pour le tri numérique ?

Comment la méthode `sort()` de JavaScript utilise-t-elle une fonction de rappel pour le tri numérique ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-11 01:52:03672parcourir

How Does JavaScript's `sort()` Method Use a Callback Function for Numerical Sorting?

Comment la méthode Sort() de Javascript utilise une fonction de rappel pour le tri numérique

En Javascript, la méthode sort() permet de trier les tableaux de manière personnalisée. Comprendre les subtilités de cette méthode peut être difficile, en particulier pour les débutants.

Comment la méthode Sort() utilise une fonction de rappel

La méthode sort() accepte un rappel fonctionner comme un argument. Cette fonction est invoquée plusieurs fois au cours du processus de tri, avec deux nombres transmis à chaque fois. Ces chiffres représentent les éléments actuellement comparés. La valeur de retour de la fonction détermine la manière dont ces éléments sont ordonnés dans le tableau trié final.

Exemple :

Considérez le code suivant :

var array=[25, 8, 7, 41]

array.sort(function(a,b){
  return a - b
})

Dans cet exemple, la méthode sort() est utilisée pour organiser le tableau par ordre numérique croissant. La fonction de rappel est définie comme suit :

function(a,b){
  return a - b
}

Cette fonction de rappel prend deux paramètres, a et b, représentant les deux éléments comparés. Il calcule leur différence (a - b).

Critères de tri

Le résultat du calcul de la fonction de rappel détermine l'ordre de tri. Si le résultat est :

  • Supérieur à 0 : L'élément représenté par a précède l'élément représenté par b dans le tableau trié.
  • Égal à 0 : L'ordre des éléments reste inchangé.
  • Inférieur à 0 : L'élément représenté par b précède l'élément représenté par a dans le tableau trié.

Processus de tri

La méthode sort() parcourt le tableau, appelant la fonction de rappel pour chaque paire d'éléments. En fonction du résultat de la fonction, elle ajuste l'ordre des éléments jusqu'à ce que l'ensemble du tableau soit trié.

Journal des appels de rappel (exemple)

Si nous avons modifié le rappel fonction comme suit :

function(a,b){
  console.log(`comparing ${a},${b}`);
  return a > b ? 1
               : a === b ? 0 
                         : -1;
}

Nous obtiendrons le journal suivant des invocations de rappel :

comparing 25,8
comparing 25,7
comparing 8,7
comparing 25,41

Cela démontre que la fonction de rappel est effectivement invoquée plusieurs fois, les paires d'éléments changeant à chaque itération.

En résumé, la méthode sort() de Javascript utilise une fonction de rappel pour déterminer l'ordre de tri des éléments du tableau en les comparant par paires. Cette fonction de rappel est invoquée plusieurs fois pendant le processus de tri et sa sortie détermine le tableau trié final.

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