Maison > interface Web > js tutoriel > le corps du texte

Comment trouver l'élément le plus fréquent dans un tableau en JavaScript ?

DDD
Libérer: 2024-11-21 10:40:11
original
361 Les gens l'ont consulté

How to Find the Most Frequent Element in an Array in JavaScript?

Identifier l'élément le plus présent dans un tableau

Déterminer l'élément avec l'occurrence la plus élevée, également appelé mode, dans un tableau donné pose un défi de programmation intrigant. Examinons une approche concise mais efficace qui calcule le mode dans un tableau JavaScript.

Présentation de la solution

L'objectif est de construire un mappage des éléments à leurs occurrences respectives dans le tableau. Par la suite, nous parcourons ce mappage et identifions l'élément avec l'occurrence maximale, qui représente le mode. Cette approche garantit une complexité temporelle de O(n), où n est la longueur du tableau.

Implémentation

L'extrait de code ci-dessous incarne cette approche :

function mode(array) {
  if (array.length === 0) return null;

  const modeMap = {};
  let maxEl = array[0];
  let maxCount = 1;

  for (let i = 0; i < array.length; i++) {
    const el = array[i];
    if (modeMap[el] === undefined) modeMap[el] = 1;
    else modeMap[el]++;

    if (modeMap[el] > maxCount) {
      maxEl = el;
      maxCount = modeMap[el];
    }
  }

  return maxEl;
}
Copier après la connexion

Utilisation

Pour utiliser cette fonction, fournissez simplement un tableau contenant les éléments dont vous souhaitez déterminer le mode. Par exemple, considérons ce qui suit :

const array = ['pear', 'apple', 'orange', 'apple'];
const result = mode(array); // 'apple'
Copier après la connexion

Dans cet exemple, le mode du tableau est « pomme » car il apparaît deux fois, ce qui est la fréquence la plus élevée parmi les éléments.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal