Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

문자열 JavaScript 암호화

<시간/>

문자열을 첫 번째 인수로, 숫자를 두 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다.

함수는 주어진 숫자만큼 알파벳을 위로 이동하여 문자열의 각 알파벳을 대체해야 합니다.

시프팅은 정의되지 않은 결과나 무효 결과 대신 z를 따라야 하는 것처럼 알파벳의 시작이나 끝으로 돌아가야 합니다.

예시

const str = 'this is a str';
const encryptString = (str = '', num = 1) => {
   const alphabet = "abcdefghijklmnopqrstuvwxyz".split("");
   str = str.toLowerCase();
   let res = "";
   for (let i = 0; i < str.length; i++) {
      const letter = str[i];
      if (alphabet.indexOf(letter) === -1) {
         res += letter;
         continue;
      }
   let index = alphabet.indexOf(letter) + num % 26;
   if (index > 25){
      index -= 26;
   };
   if (index < 0){
      index += 26;
   };
   if(str[i] === str[i].toUpperCase()){
      res += alphabet[index].toUpperCase();
      }else{ res += alphabet[index];
      };
   }
   return res;
};
console.log(encryptString(str, 4));

출력

콘솔의 출력은 -

xlmw mw e wxv