Maison >interface Web >js tutoriel >Comment trouver l'élément le plus fréquent dans un tableau en JavaScript ?

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

DDD
DDDoriginal
2024-11-21 10:40:11443parcourir

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;
}

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'

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!

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