文字列が回文であるかどうかをチェックするJavaScriptプログラム

文字列は、前方または後方から同じように読み取られた場合、回文です。 例えば、 パパ 前方または後方から同じものを読み取ります。 だから言葉 パパ 回文です。 同様に、 マダム 回文でもあります。


例1:forループを使用して回文を確認する

// program to check if the string is palindrome or not

function checkPalindrome(str) {

    // find the length of a string
    const len = string.length;

    // loop through half of the string
    for (let i = 0; i < len / 2; i++) {

        // check if first and last string are same
        if (string[i] !== string[len - 1 - i]) {
            return 'It is not a palindrome';
        }
    }
    return 'It is a palindrome';
}

// take input
const string = prompt('Enter a string: ');

// call the function
const value = checkPalindrome(string);

console.log(value);

出力

Enter a string: madam
It is a palindrome

上記のプログラムでは、 checkPalindrome() 関数はユーザーからの入力を受け取ります。

  • 文字列の長さは、 length プロパティ。
  • ザ・ for ループは、文字列の半分まで反復するために使用されます。 ザ・ if 条件は、最初の文字と対応する最後の文字が同じであるかどうかを確認するために使用されます。 このループは、文字列の半分まで続きます。
  • 反復中に、文字列のいずれかの文字が、対応する最後の文字列と比較したときに等しくない場合、その文字列は回文とは見なされません。

例2:組み込み関数を使用して回文をチェックする

// program to check if the string is palindrome or not

function checkPalindrome(str) {

    // convert string to an array
    const arrayValues = string.split('');

    // reverse the array values
    const reverseArrayValues = arrayValues.reverse();

    // convert array to string
    const reverseString = reverseArrayValues.join('');

    if(string == reverseString) {
        console.log('It is a palindrome');
    }
    else {
        console.log('It is not a palindrome');
    }
}

//take input
const string = prompt('Enter a string: ');

checkPalindrome(string);

出力

Enter a string: hello
It is not a palindrome

上記のプログラムでは、JavaScriptで利用可能な組み込みメソッドを使用して回文がチェックされます。

  • ザ・ split('') メソッドは、文字列を個々の配列文字に変換します。
    const arrayValues = string.split(''); // ["h", "e", "l", "l", "o"]
  • ザ・ reverse() メソッドは、配列内の位置を逆にします。
    // ["o", "l", "l", "e", "h"]
    const reverseArrayValues = arrayValues.reverse();
  • ザ・ join('') メソッドは、配列のすべての要素を文字列に結合します。
    const reverseString = reverseArrayValues.join(''); // "olleh"
  • そうして if...else ステートメントは、文字列と反転された文字列が等しいかどうかを確認するために使用されます。 それらが等しい場合、文字列は回文です。

注意:複数行のコードを削減して1行で記述できます。

const reverseString = string.split('').reverse().join('');



Hope this helps!

Source link