Heim > Web-Frontend > js-Tutorial > Wie stellt js fest, ob es sich um eine Palindromzeichenfolge handelt?

Wie stellt js fest, ob es sich um eine Palindromzeichenfolge handelt?

青灯夜游
Freigeben: 2018-11-17 17:46:55
Original
5936 Leute haben es durchsucht

Wie stellt js fest, ob es sich um eine Palindrom-Zeichenfolge handelt? In diesem Artikel erfahren Sie, wie Sie mit js feststellen, ob eine Zeichenfolge eine Palindrom-Zeichenfolge ist. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Lassen Sie uns zunächst verstehen: Was ist eine Palindromzeichenfolge?

Eine Palindrom-Zeichenfolge ist dasselbe, als würde man sie vom Anfang bis zum Ende lesen, was dasselbe ist, als würde man sie vom Ende bis zum Anfang lesen. Beispiel: ABCBA.

Als Nächstes stellen wir Ihnen vor, wie Sie mithilfe von JavaScript-Funktionen ganz einfach feststellen können, ob es sich bei einem String um einen Palindrom-String handelt.

Tatsächlich ist die Logik zur Bestimmung, ob eine Zeichenfolge ein Palindrom ist, sehr einfach: Entfernen Sie einfach die Sonderzeichen aus der Zeichenfolge und kehren Sie das Ergebnis um. Wenn die Strings gleich sind (der gefilterte String und der umgekehrt gefilterte String), dann ist dieser String ein Palindrom-String. Ist das nicht einfach?

Sehen wir uns an, wie JavaScript der oben genannten Logik folgt, um den Effekt zu erzielen.

1. Verwenden Sie grundlegende Funktionen zur Überprüfung

Der oben genannten Logik folgend, müssen wir nur eine Variable erstellen, die die von uns benötigte Zeichenfolge enthält. Zuerst konvertieren wir alle Zeichen der Zeichenfolge in Kleinbuchstaben, dann entfernen wir Sonderzeichen und vergleichen schließlich die Zeichenfolgen. Wenn sie gleich sind, gibt die Funktion einen booleschen Wert zurück, der dies bestätigt:

/** 
 *定义判断给定字符串是否为回文的函数isPalindrome()。
 * 
 * @returns {Boolean}
 */
function isPalindrome(str){
    var normalized = str.toLowerCase().match(/[a-z]/gi).reverse();
    return normalized.join('') === normalized.reverse().join('');
}
Nach dem Login kopieren

Sie können also die Besetzung isPalindrome verwenden Methode, die eine Zeichenfolge als erstes Argument bereitstellt. Dies gibt einen booleschen Wert zurück, der Folgendes notiert:

if(isPalindrome("Go dog.")){
    console.log("它是回文");
}else{
    console.log("它不是回文");
}
Nach dem Login kopieren

2. Verwenden Sie die Prototypenfunktion, um

zu überprüfen Sie möchten feststellen, ob ein String ein Palindrom ist, ohne ihn als erstes Argument für eine Funktion anzugeben. Solange die Variable ein String ist, können Sie eine Verknüpfung erstellen, indem Sie den String-Prototyp erweitern und Ihre eigene Funktion dafür erstellen. Auf diese Weise können Sie die isPalindrome-Methode aufrufen, als wäre sie eine Eigenschaft der Zeichenfolge, zum Beispiel:

/** 
 * 允许校验的字符串扩展函数
 * 字符串是否为回文。
 * 
 * @returns {Boolean}
 */
 String.prototype.isPalindrome = function () {
    var normalized = this.toLowerCase().match(/[a-z]/gi).reverse();
    return normalized.join('') === normalized.reverse().join('');
 }
Nach dem Login kopieren

Daher können Sie die Zeichenfolge mit der isPalindrome-Methode umwandeln, die einen booleschen Wert zurückgibt, Hinweis Wenn es:

if("Go dog.".isPalindrome()){
    console.log("它是回文");
}else{
    console.log("它不是回文");
}
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Lernen aller hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonWie stellt js fest, ob es sich um eine Palindromzeichenfolge handelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage