Rumah  >  Artikel  >  hujung hadapan web  >  js untuk menentukan sama ada rentetan mengandungi kemahiran substring_javascript

js untuk menentukan sama ada rentetan mengandungi kemahiran substring_javascript

WBOY
WBOYasal
2016-05-16 16:17:551262semak imbas

Contoh dalam artikel ini menerangkan cara js menentukan sama ada rentetan mengandungi subrentetan. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:

Dalam pembangunan bahagian hadapan harian kami, kami sering menghadapi masalah untuk menentukan sama ada rentetan mengandungi subrentetan tertentu Di sini kami akan meneroka beberapa kaedah untuk menyelesaikan keperluan ini dan menggunakannya dengan betul. Sebaik-baiknya, apa yang kami cari ialah kaedah yang sepadan dengan tujuan kami (jika x mengandungi y) dan mengembalikan benar atau salah.

1. String.prototype.indexOf dan String.prototype.lastIndexOf

Dua kaedah ini mungkin yang paling mudah untuk kita fikirkan Jika ia mengandungi subrentetan, ia akan mengembalikan indeks yang lebih besar daripada atau sama dengan 0, jika tidak, ia akan mengembalikan -1, yang tidak memenuhi keadaan ideal kita.

Salin kod Kod adalah seperti berikut:
var str = "Nama blog saya Benjamin-Focus on front-end pembangunan dan pengalaman pengguna",
​ substr = "Benjamin";

function isContains(str, substr) {
Kembalikan str.indexOf(substr) >= 0;
}

//benar
console.log(isContains(str, substr));

2. String.prototype.search

Kami memikirkan kaedah String.prototype.search Memandangkan parameter kaedah carian ialah ungkapan biasa, ia adalah sama dengan indexOf.

Salin kod Kod adalah seperti berikut:
var str = "Nama blog saya Benjamin-Focus on front-end pembangunan dan pengalaman pengguna",
​ substr = "Benjamin";

function isContains(str, substr) {
Kembalikan RegExp(substr) baharu.test(str);
}

//benar
console.log(isContains(str, substr));

Kaedah ini kelihatan lebih baik daripada kaedah indexOf. Kaedah ini secara langsung mengembalikan benar atau salah Pada masa yang sama, ujian nama kaedah lebih semantik daripada indexOf.

3. String.prototype.contains

Salin kod Kod adalah seperti berikut:
var str = "Nama blog saya Benjamin-Focus on pembangunan bahagian hadapan dan Pengalaman pengguna",
​ substr = "Benjamin";

function isContains(str, substr) {
Kembalikan str.contains(substr);
}

//benar
console.log(isContains(str, substr));

Kaedah ini pada masa ini hanya disokong oleh Firefox dan masih dalam draf ECMAScript 6. Kaedah ini memenuhi keadaan ideal yang dinyatakan di atas. Sila klik di sini untuk butiran. Jika anda ingin menggunakan kaedah mengandungi, anda boleh merujuk kepada string.js perpustakaan pihak ketiga Klik di sini untuk memuat turun string.js daripada tapak ini. Pelaksanaan kod sumber:
Salin kod Kod adalah seperti berikut:
mengandungi: fungsi(ss) {
Kembalikan this.s.indexOf(ss) >= 0;
},
Kaedah lain perlu ditambah. . .
Sudah tentu, mengenai isu prestasi, kaedah mana yang lebih pantas masih perlu diuji. Rakan-rakan yang berminat mungkin ingin mengujinya sendiri.

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

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