'I try to build ROT 13 cipher in JavaScript, I did it but output not shown in console please check what's wrong in it
A common modern use is a ROT13 cipher, where the values of the letters are shifted by 13 places. Thus 'A' ↔ 'N', 'B' ↔ 'O', and so on.
function rot13(str) {
let newStr="";
let upperAlph=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y","Z"]
let rotAlph=["N","O","P","Q","R","S","T","U","V","W","X","Y","Z","A","B","C","D","E","F","G","H","I","J","K","L","M"];
for(let i=0; i<str.length; i++){
let letter=str[i];
let letTest=/[A-Z]/g;
if(letTest.test(letter)){
let indexOfLetter=upperAlph.indexOf(letter);
let newLetter=rotAlph[indexOfLetter];
newStr+newLetter;
}
else{
newStr+letter;
}
}
return newStr;
}
console.log(rot13("SERR PBQR PNZC"));
Solution 1:[1]
You missed the U and V of upperAlph
function rot13(str) {
let newStr="";
let upperAlph=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
let rotAlph=["N","O","P","Q","R","S","T","U","V","W","X","Y","Z","A","B","C","D","E","F","G","H","I","J","K","L","M"];
for(let i=0; i<str.length; i++){
let letter=str[i];
let letTest=/[A-Z]/g;
if(letTest.test(letter)){
let indexOfLetter=upperAlph.indexOf(letter);
let newLetter=rotAlph[indexOfLetter];
newStr += newLetter;
}
else{
newStr += letter;
}
}
return newStr;
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | A K M Intisar Islam |
