Maison > interface Web > js tutoriel > Comment trier correctement un tableau d'entiers en JavaScript ?

Comment trier correctement un tableau d'entiers en JavaScript ?

Barbara Streisand
Libérer: 2024-12-19 11:02:44
original
700 Les gens l'ont consulté

How Do I Correctly Sort an Array of Integers in JavaScript?

Tri d'un tableau d'entiers : au-delà de l'ordre alphabétique

En essayant de récupérer les valeurs les plus élevées et les plus basses d'un tableau d'entiers, vous pouvez ont rencontré un comportement inattendu : la fonction de tri semble trier les éléments sous forme de chaînes. Pour surmonter ce problème, nous avons besoin d'un mécanisme de tri qui prend en compte les valeurs entières.

Comprendre le tri par défaut

Par défaut, la méthode de tri en JavaScript effectue un tri alphabétique. Cela signifie que les éléments sont comparés sous forme de chaînes et classés par ordre lexicographique. Dans le cas d'entiers, cela peut conduire à des résultats incorrects, car la comparaison est basée sur la représentation sous forme de chaîne des nombres plutôt que sur leurs valeurs réelles.

Solution : fonction de tri numérique personnalisée

Pour remédier à cette limitation, nous pouvons définir une fonction de tri personnalisée qui se concentre sur la comparaison des valeurs entières des éléments du tableau. Voici un exemple simple :

var numArray = [140000, 104, 99];
numArray.sort(function(a, b) {
  return a - b;
});

console.log(numArray);
Copier après la connexion

La fonction de tri fournie (nommée sortNumber ou similaire) prend deux paramètres, a et b, représentant les deux éléments comparés. Pour trier le tableau par ordre croissant, nous soustrayons simplement a de b. Si le résultat est positif, a devrait venir après b ; si négatif, a doit précéder b.

Résultats

En utilisant la fonction de tri personnalisé, nous obtenons le résultat correct :

[99, 104, 140000]
Copier après la connexion

Les éléments du tableau sont désormais triés par ordre numérique croissant selon leurs valeurs entières, comme prévu.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal