Maison > interface Web > js tutoriel > Comment puis-je rechercher efficacement les valeurs en double dans un tableau JavaScript ?

Comment puis-je rechercher efficacement les valeurs en double dans un tableau JavaScript ?

Susan Sarandon
Libérer: 2024-12-15 15:20:23
original
366 Les gens l'ont consulté

How Can I Efficiently Find Duplicate Values in a JavaScript Array?

Recherche de valeurs non uniques dans un tableau

Identifier les valeurs en double dans un tableau JavaScript est une tâche courante. Bien que parcourir le tableau et comparer chaque élément aux autres puisse sembler une approche simple, cela peut s'avérer inefficace, en particulier pour les grands tableaux.

Une solution optimisée consiste à trier d'abord le tableau. Cette étape réduit la complexité de O(n^2) à moins de O(n^2) en regroupant des éléments similaires.

Une fois le tableau trié, vous pouvez le parcourir et vérifier si l'élément actuel correspond à l'élément suivant ou précédent. Si elles sont identiques, la valeur est considérée comme un doublon et peut être ajoutée à une liste de résultats.

const findDuplicates = (arr) => {
  let sorted_arr = arr.slice().sort();
  let results = [];
  for (let i = 0; i < sorted_arr.length - 1; i++) {
    if (sorted_arr[i + 1] == sorted_arr[i]) {
      results.push(sorted_arr[i]);
    }
  }
  return results;
};
Copier après la connexion

Par exemple, étant donné un tableau comme [9, 9, 111, 2, 3, 4, 4, 5, 7], cette approche identifierait et renverrait efficacement les valeurs en double : [9, 4].

En tirant parti du tri et de la comparaison des éléments adjacents, cette solution offre un méthode rapide pour trouver des valeurs non uniques dans un tableau.

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