ホームページ  >  記事  >  ウェブフロントエンド  >  js は回文文字列かどうかをどのように判断するのでしょうか?

js は回文文字列かどうかをどのように判断するのでしょうか?

青灯夜游
青灯夜游オリジナル
2018-11-17 17:43:545905ブラウズ

js は回文文字列かどうかをどのように判断するのでしょうか?この記事では、jsを使って文字列が回文文字列かどうかを判定する方法を紹介します。困っている友人は参考にしていただければ幸いです。

まずは理解しましょう回文文字列とは何ですか?

回文文字列は、最初から最後まで読むということですが、これは終わりから最初まで読むのと同じです。例: ABCBA。

次に、JavaScript 関数を使用して文字列が回文文字列であるかどうかを簡単に判断する方法を紹介します。

実際、文字列が回文であるかどうかを判断するロジックは非常に単純です。文字列から特殊文字を削除し、結果を逆にするだけです。文字列が等しい場合 (フィルタリングされた文字列と逆フィルタリングされた文字列)、この文字列は回文文字列です。

JavaScript が上記のロジックに従って効果を実現する方法を見てみましょう。

1. 検証に基本関数を使用する

上記のロジックに従って、必要な文字列を含む変数を作成するだけです。まず、文字列のすべての文字を小文字バージョンに変換し、次に特殊文字を削除し、最後に文字列を比較します。それらが等しい場合、関数はそれを確認するブール値を返します。

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

したがって、キャスト isPalindrome を使用できます。最初の引数として文字列を指定するメソッドを使用すると、

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

2 であるかどうかを示すブール値が返されます。プロトタイプ関数を使用して

を確認します。関数の最初の引数として文字列を指定せずに、文字列が回文であるかどうかを判断したい場合は、変数が文字列である限り、String プロトタイプを拡張し、その独自の関数を作成することでショートカットの作成を渡すことができます。この方法では、isPalindrome メソッドを文字列のプロパティであるかのように呼び出すことができます。例:

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

したがって、isPalindrome メソッドを使用して文字列をキャストでき、ブール値が返されます。どうか:

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

要約: 上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。

以上がjs は回文文字列かどうかをどのように判断するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。