Contoh artikel ini menjelaskan metode JS untuk menentukan apakah suatu string berisi substring. Bagikan untuk referensi Anda. Dengan rincian sebagai berikut:
Dalam pengembangan front-end harian kami, kami sering menemukan menilai apakah string berisi substring. Di sini kami akan mengeksplorasi beberapa solusi untuk persyaratan ini dan menggunakannya dengan benar. Idealnya, apa yang kita cari adalah metode yang sesuai dengan tujuan kita (jika x berisi y) dan mengembalikan benar atau salah.
1. String.prototype.indexof dan String.prototype.LastIndexOf
Kedua metode ini mungkin adalah hal termudah yang kita pikirkan. Jika berisi substring, ia mengembalikan indeks lebih besar dari atau sama dengan 0, jika tidak, ia mengembalikan -1, yang tidak memenuhi situasi ideal kami.
Salinan kode adalah sebagai berikut: var str = "Nama blog saya adalah Benjamin yang berfokus pada pengembangan front-end dan pengalaman pengguna",
substr = "Benjamin";
function isContains (str, substr) {
return str.indexof (substr)> = 0;
}
//BENAR
console.log (isContains (str, substr));
2. String.prototype.search
Kami memikirkan metode string.prototype.search, karena parameter metode pencarian adalah ekspresi reguler, itu sama dengan kasus indeksof.
Salinan kode adalah sebagai berikut: var str = "Nama blog saya adalah Benjamin yang berfokus pada pengembangan front-end dan pengalaman pengguna",
substr = "Benjamin";
function isContains (str, substr) {
return regexp baru (substr) .test (str);
}
//BENAR
console.log (isContains (str, substr));
Metode ini terlihat lebih baik daripada metode IndexOf, yang secara langsung mengembalikan benar atau salah, dan uji nama metode lebih semantik daripada IndexOF.
3. String.Prototype.Contains
Salinan kode adalah sebagai berikut: var str = "Nama blog saya adalah Benjamin yang berfokus pada pengembangan front-end dan pengalaman pengguna",
substr = "Benjamin";
function isContains (str, substr) {
return str.contains (substr);
}
//BENAR
console.log (isContains (str, substr));
Metode ini saat ini hanya didukung oleh Firefox dan masih dalam draft ECMascript 6. Metode ini memenuhi situasi ideal yang disebutkan di atas. Untuk detailnya, silakan klik di sini. Jika Anda ingin menggunakan metode Contains, Anda dapat merujuk ke pustaka pihak ketiga String.js, klik di sini untuk mengunduh String.js. Implementasi Kode Sumber:
Salin kode sebagai berikut: contains: function (ss) {
kembalikan this.s.indexof (ss)> = 0;
},
Metode lain harus dilengkapi. . .
Tentu saja, dalam hal masalah kinerja, metode mana yang akan digunakan masih harus diuji. Teman yang tertarik mungkin ingin mengujinya sendiri.
Saya harap artikel ini akan membantu pemrograman JavaScript semua orang.