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

JavaScriptで数値を文字にマップする


番号12145があるとします。次の基準に従って、番号の桁を英語のアルファベットにマップする関数を作成する必要があります。アルファベットは、1ベースのインデックスに従ってマッピングされます。たとえば、1の場合は「a」、2の場合は「b」、3の場合は「c」などです。

数値をマッピングするには、いくつかの方法があります。上記の番号121415を例にとってみましょう

-

としてマッピングできます
12145->1,2,1,4,5->a,b,a,d,e

-

にすることもできます
12145->12,1,4,5->l,a,d,e

-

にすることもできます
12145->12,14,5->l,n,e

などですが、アルファベットには45のマッピングがないため、12145を1,2,1,45にすることはできません。したがって、この関数は、アルファベットマッピングのすべての順列の配列を返す必要があります。

このためのコードは-

になります

const num = 12145;
const mapToAlphabets = num => {
   const numStr = '' + num;
   let res = [];
   const shoveElements = (left, right) => {
      if (!left.length) {
         res.push(right.map(el => {
            return (+el + 9).toString(36);
         }).join(''));
         return;
      };
      if(+left[0] > 0){
         shoveElements(left.slice(1), right.concat(left[0]));
      };
      if(left.length >= 2 && +(left.slice(0, 2)) <= 26){
         shoveElements(left.slice(2), right.concat(left.slice(0, 2)));
      };
   };
   shoveElements(numStr, []);
   return res;
}
console.log(mapToAlphabets(num));

出力

コンソールの出力-

[ 'abade', 'abne', 'aude', 'lade', 'lne' ]

  1. JavaScriptでオブジェクトをマップします。

    マップオブジェクトはES6で導入され、キーと値のペアである要素のコレクションです。マップ内のキーまたは値は、オブジェクトまたはプリミティブ値にすることができます。 以下はJavaScriptのマップオブジェクトのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initia

  2. JavaScriptで文字をエスケープする

    エスケープ文字は、意図したものとは別の方法で解釈できる文字です。これらの文字をそのまま印刷するには、それらの前に円記号「\」を含めます。以下はJavaScriptのエスケープ文字です- コード 結果 \ b バックスペース \ f フォームフィード \ n 改行 \ r キャリッジリターン \ t 水平タブレーター \ v 垂直タブレーター \ 一重引用符 \ 二重引用符 \\ バックスラッシュ 以下は、javaScriptでエスケープ文字のバックスラッシュを実装するコードで