Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencari Elemen Paling Kerap dalam Array dalam JavaScript?

Bagaimana untuk Mencari Elemen Paling Kerap dalam Array dalam JavaScript?

DDD
DDDasal
2024-11-21 10:40:11443semak imbas

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

Mengenal pasti Elemen Paling Berlaku dalam Tatasusunan

Menentukan elemen dengan kejadian tertinggi, juga dikenali sebagai mod, dalam tatasusunan yang diberikan menimbulkan cabaran pengaturcaraan yang menarik. Mari kita mendalami pendekatan ringkas namun cekap yang mengira mod dalam tatasusunan JavaScript.

Tinjauan Keseluruhan Penyelesaian

Objektifnya adalah untuk membina pemetaan elemen kepada kejadian masing-masing dalam tatasusunan. Selepas itu, kami mengulangi pemetaan ini dan mengenal pasti elemen dengan kejadian maksimum, yang mewakili mod. Pendekatan ini memastikan kerumitan masa O(n), dengan n ialah panjang tatasusunan.

Pelaksanaan

Coretan kod di bawah merangkumi pendekatan ini:

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

Penggunaan

Untuk menggunakan ini fungsi, cukup sediakan tatasusunan yang mengandungi unsur-unsur yang modnya ingin anda tentukan. Sebagai contoh, pertimbangkan perkara berikut:

const array = ['pear', 'apple', 'orange', 'apple'];
const result = mode(array); // 'apple'

Dalam contoh ini, mod tatasusunan ialah 'epal' kerana ia muncul dua kali, iaitu kekerapan tertinggi antara elemen.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen Paling Kerap dalam Array dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn