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

Bagaimanakah Saya Boleh Mengira Kejadian Rentetan dengan Cekap dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-23 10:40:31226semak imbas

How Can I Efficiently Count String Occurrences in JavaScript?

Mengenal pasti Kejadian Rentetan dalam Rentetan

Menentukan kekerapan rentetan tertentu muncul dalam rentetan lain ialah tugas asas dalam pengaturcaraan. Dalam contoh yang disediakan dalam JavaScript:

var temp = "This is a string.";
alert(temp.count("is")); //should output '2'

Anda ingin mengira bilangan kali subrentetan "adalah" muncul dalam temp rentetan. Untuk mencapai matlamat ini, JavaScript tidak menawarkan fungsi kiraan asli.

Penyelesaian menggunakan Ungkapan Biasa

Ekspresi biasa memberikan penyelesaian yang elegan untuk masalah ini. Kod JavaScript berikut mencapai matlamat yang dimaksudkan:

var temp = "This is a string.";
var count = (temp.match(/is/g) || []).length;
console.log(count);

Berikut ialah pecahan kod:

  1. Ungkapan Biasa: /is/g mencari subrentetan "adalah" dengan bendera g. Bendera ini menunjukkan carian global, memastikan bahawa semua kejadian "is" dikenal pasti.
  2. Fungsi match(): temp.match(/is/g) mengembalikan tatasusunan yang mengandungi semua padanan daripada "adalah" atau tatasusunan kosong jika tiada padanan ditemui.
  3. Harta panjang: (temp.match(/is/g) || []).length mengira bilangan kejadian "is" dengan mendapatkan panjang tatasusunan yang dikembalikan oleh match(). Jika tiada padanan ditemui, tatasusunan kosong dikembalikan dan panjangnya ialah 0.

Penyelesaian ini menyediakan kaedah yang cekap untuk mengira kejadian rentetan dengan tepat dalam rentetan tertentu.

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