Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで各文字を隣接する文字に変更して回文を作成する


問題

文字列を取り込むJavaScript関数を作成する必要があります。この関数は、文字列に対して次の操作を実行できます-

  • 各文字は、アルファベットの前または後のいずれかに変更する必要があります。
  • 「a」は「b」に、「z」は「y」にのみ変更できます。

これらの操作の結果の少なくとも1つが回文である場合、関数はTrueを返し、それ以外の場合はFalseを返す必要があります。

以下はコードです-

const str = 'adfa';
const canFormPalindrome = (str = '') => {
   const middle = str.length / 2;
   for(let i = 0; i < middle; i++){
      const first = str[i].charCodeAt()
      const last = str[str.length - (i + 1)].charCodeAt()
      const distance = Math.abs(last - first)
      if(distance > 2 || distance === 1){
         return false;
      };
   };
   return true;
};
console.log(canFormPalindrome(str));

出力

以下はコンソール出力です-

true

  1. JavaScriptでのConstとLet。

    Constとletは、ブロックスコープの変数を宣言するためにES2015で導入されました。 letを使用して宣言された変数は再割り当てできますが、constを使用して宣言された場合は再割り当てできません。 以下は、JavaScriptでletとconstを示すコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="wi

  2. JavaScriptでオブジェクトごとに一意のIDを作成するにはどうすればよいですか?

    以下は、オブジェクトごとに一意のIDを作成するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>