ตัวอย่างบทความนี้อธิบายวิธีการของ JS เพื่อตรวจสอบว่าสตริงมีสายย่อยหรือไม่ แบ่งปันสำหรับการอ้างอิงของคุณ รายละเอียดมีดังนี้:
ในการพัฒนาส่วนหน้าประจำวันของเราเรามักจะพบว่าสตริงมีสายย่อยหรือไม่ ที่นี่เราจะสำรวจวิธีแก้ปัญหาบางอย่างเกี่ยวกับข้อกำหนดนี้และใช้อย่างถูกต้อง ตามหลักการแล้วสิ่งที่เรากำลังมองหาคือวิธีที่ตรงกับจุดประสงค์ของเรา (ถ้า x มี y) และส่งคืนจริงหรือเท็จ
1. string.prototype.indexof และ string.prototype.lastindexof
สองวิธีนี้น่าจะเป็นสิ่งที่ง่ายที่สุดที่เราคิด ถ้ามันมีสายย่อยจะส่งคืนดัชนีมากกว่าหรือเท่ากับ 0 มิฉะนั้นจะส่งคืน -1 ซึ่งไม่ตรงกับสถานการณ์ในอุดมคติของเรา
การคัดลอกรหัสมีดังนี้: var str = "ชื่อบล็อกของฉันคือเบนจามินที่เน้นการพัฒนาส่วนหน้าและประสบการณ์การใช้งาน"
substr = "Benjamin";
ฟังก์ชั่น iScontains (str, substr) {
return str.indexof (substr)> = 0;
-
//จริง
console.log (iScontains (str, substr));
2. String.prototype.search
เราคิดถึงเมธอด String.prototype.search เนื่องจากพารามิเตอร์ของวิธีการค้นหาเป็นนิพจน์ทั่วไปจึงเหมือนกับกรณีของดัชนี
การคัดลอกรหัสมีดังนี้: var str = "ชื่อบล็อกของฉันคือเบนจามินที่เน้นการพัฒนาส่วนหน้าและประสบการณ์การใช้งาน"
substr = "Benjamin";
ฟังก์ชั่น iScontains (str, substr) {
ส่งคืน regexp ใหม่ (substr) .test (str);
-
//จริง
console.log (iScontains (str, substr));
วิธีนี้ดูดีกว่าวิธีการดัชนีซึ่งส่งคืนโดยตรงหรือเท็จโดยตรงและการทดสอบชื่อวิธีนั้นมีความหมายมากกว่าดัชนีของ
3. String.prototype.contains
การคัดลอกรหัสมีดังนี้: var str = "ชื่อบล็อกของฉันคือเบนจามินที่เน้นการพัฒนาส่วนหน้าและประสบการณ์การใช้งาน"
substr = "Benjamin";
ฟังก์ชั่น iScontains (str, substr) {
return str.contains (substr);
-
//จริง
console.log (iScontains (str, substr));
วิธีนี้ได้รับการสนับสนุนโดย Firefox เท่านั้นและยังคงอยู่ใน Ecmascript 6 Draft วิธีนี้ตรงกับสถานการณ์ในอุดมคติที่กล่าวถึงข้างต้น สำหรับรายละเอียดโปรดคลิกที่นี่ หากคุณต้องการใช้เมธอด CONTAINS คุณสามารถอ้างถึงสตริงไลบรารีของบุคคลที่สามได้คลิกที่นี่เพื่อดาวน์โหลด String.js การใช้งานซอร์สโค้ด:
คัดลอกรหัสดังต่อไปนี้: มี: ฟังก์ชัน (SS) {
ส่งคืนสิ่งนี้. indexof (ss)> = 0;
-
วิธีการอื่น ๆ จะได้รับการเสริม - -
แน่นอนในแง่ของปัญหาประสิทธิภาพซึ่งวิธีการใช้ยังคงถูกทดสอบ เพื่อนที่สนใจอาจต้องการทดสอบด้วยตัวเอง
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน