Das Beispiel in diesem Artikel beschreibt, wie js ermittelt, ob eine Zeichenfolge eine Teilzeichenfolge enthält. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
In unserer täglichen Front-End-Entwicklung stoßen wir häufig auf das Problem, festzustellen, ob ein String einen bestimmten Teilstring enthält. Hier werden wir einige Methoden untersuchen, um diese Anforderung zu lösen und sie richtig zu verwenden. Im Idealfall suchen wir nach einer Methode, die unserem Zweck entspricht (wenn x y enthält) und „true“ oder „false“ zurückgibt.
1. String.prototype.indexOf und String.prototype.lastIndexOf
Diese beiden Methoden sind für uns möglicherweise die einfachsten. Wenn sie einen Teilstring enthält, wird ein Index größer oder gleich 0 zurückgegeben, andernfalls wird -1 zurückgegeben, was unserer idealen Situation nicht entspricht.
var str = "Mein Blogname ist Benjamin-Focus on front-end Entwicklung und Benutzererfahrung",
substr = "Benjamin";
Funktion isContains(str, substr) {
Rückgabe str.indexOf(substr) >= 0;
}
//true
console.log(isContains(str, substr));
2. String.prototype.search
Wir haben an die Methode String.prototype.search gedacht. Da der Parameter der Suchmethode ein regulärer Ausdruck ist, ist er derselbe wie indexOf.
var str = "Mein Blogname ist Benjamin-Focus on front-end Entwicklung und Benutzererfahrung",
substr = "Benjamin";
Funktion isContains(str, substr) {
Gibt neues RegExp(substr).test(str);
zurück
}
//true
console.log(isContains(str, substr));
Diese Methode sieht besser aus als die indexOf-Methode. Diese Methode gibt direkt true oder false zurück. Gleichzeitig ist der Methodennamentest semantischer als indexOf.
3. String.prototype.contains
var str = "Mein Blogname ist Benjamin-Focus on Front-End-Entwicklung und Benutzererfahrung“,
substr = "Benjamin";
Funktion isContains(str, substr) {
Rückgabe str.contains(substr);
}
//true
console.log(isContains(str, substr));
Diese Methode wird derzeit nur von Firefox unterstützt und befindet sich noch im ECMAScript 6-Entwurf. Diese Methode erfüllt die oben genannte Idealsituation. Bitte
klicken Sie hier für Details. Wenn Sie die Methode „enthält“ verwenden möchten, können Sie auf die Drittanbieterbibliothek string.js verweisen. Klicken Sie hier, um string.js
von dieser Website herunterzuladen. Quellcode-Implementierung:
enthält: Funktion(ss) {
Gibt this.s.indexOf(ss) >= 0;
zurück
},
Weitere Methoden sollen hinzugefügt werden. . .
Im Hinblick auf Leistungsprobleme muss natürlich noch getestet werden, welche Methode schneller ist. Interessierte Freunde möchten es vielleicht selbst testen.
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.