Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengira Kejadian Elemen dengan Cekap dalam Tatasusunan JavaScript?

Bagaimanakah Saya Boleh Mengira Kejadian Elemen dengan Cekap dalam Tatasusunan JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-12-30 06:58:09738semak imbas

How Can I Efficiently Count Element Occurrences in a JavaScript Array?

Mengira Kejadian Elemen dalam Tatasusunan

Menentukan kekerapan elemen dalam tatasusunan ialah tugas biasa dalam pengaturcaraan. Dalam JavaScript, penyelesaian kepada masalah ini ialah menggunakan objek sebagai pengiraan.

Objek, dinamakan 'kiraan', dicipta untuk menyimpan frekuensi elemen. Kekuncinya mewakili elemen unik, manakala nilai yang sepadan mewakili kejadian masing-masing.

Untuk mengisi objek 'kiraan', tatasusunan diulang. Bagi setiap elemen yang ditemui, kiraannya sama ada dinaikkan jika wujud atau dimulakan kepada 1 jika ia adalah pertemuan baharu.

Akibatnya, objek 'bilangan' menyediakan pengiraan komprehensif bagi frekuensi elemen. Selain itu, kiraan elemen individu boleh diperoleh semula dengan mengakses sifat yang sepadan dalam objek, seperti yang ditunjukkan dalam coretan kod contoh:

const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];
const counts = {};

for (const num of arr) {
  counts[num] = counts[num] ? counts[num] + 1 : 1;
}

console.log(counts);
console.log(counts[5], counts[2], counts[9], counts[4]);

Coretan kod ini menjana output berikut:

{ '5': 3, '2': 5, '9': 1, '4': 1 }
3 5 1 1

Objek 'counts' mengandungi frekuensi elemen dan pernyataan console.log memaparkan kiraan individu untuk elemen tertentu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Kejadian Elemen dengan Cekap dalam Tatasusunan 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