JSMap()、join()配列の値は、特定の条件で+文字のUnicode


1.問題の説明


1つの暗号化方法は、1つの文の各アルファベットを一定の距離で伸ばし、別のアルファベットに変換することです.例えば、「AB」は1で「BC」、3で「DE」を表す.「z」が1に等しいと「a」になります.文字列sと距離nを入力し、sがnの暗号文の関数を生成し、ソリューションを完了します.
s	n	result
"AB"	1	"BC"
"z"	1	"a"
"a B z"	4	"e F d"

2.map()を用いて解く

function solution(s, n) {
    var answer = '';
    let s_arr = s.split('').map(function(value){
    // function(value) 이하 구문에 따라 입력값 s의 값을 변경해서 s_arr에 할당.
        if ( value !== ' '){
            if ( value.toUpperCase().charCodeAt() + n > 90){
                return String.fromCharCode(value.charCodeAt() + n - 26)
            }else{
                return String.fromCharCode(value.charCodeAt() + n)
            }
        }else{
            return value
        }      
    }).join('')
    return s_arr;
 }

a. map(function(value){})

  • 配列aの各インデックス値を関数(値)の戻り値の関数に変更します.
  • の場合、パラメータ値はaを配列する各インデックス値である.すなわちfunction(value)はmap()によって配列aを遍歴する.
  • string.charCodeAt(index)

  • 文字列の特定のインデックス内のデータのUnicodeを10進数に戻します.
  • String.fromCharCode(num)

  • numに対応するUnicode文字の関数を生成します.
  • join(a)


    これは
  • aを基準としてアレイ内の値を接続する関数である.
  • split(a)

  • 文字列を文字列内の値aを基準として分割し、配列に戻します.