Computer >> Máy Tính >  >> Lập trình >> Javascript

Mã hóa một chuỗi JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một chuỗi làm đối số đầu tiên và một số làm đối số thứ hai.

Hàm sẽ thay thế từng bảng chữ cái của chuỗi bằng cách chuyển nó lên bảng chữ cái theo số đã cho.

Việc chuyển dịch phải quay trở lại đầu hoặc cuối bảng chữ cái, chẳng hạn như a phải theo sau z thay vì không xác định hoặc bất kỳ kết quả nào.

Ví dụ

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

xlmw mw e wxv