Categories
Code Learn

Implementing Caesars Cipher in Javascript using ES6 Syntaxes

What is Caesars Cipher? The particular constraint for this exercise is ROT13 algorithm (rotate by 13 alphabets), and only use upper case letters.

Here is my quick implementation:

function rot13(str) {
  // LBH QVQ VG!
  const input = str
    .split("")
    .map(item => item.charCodeAt())
    .map(item => {
      if (item < 65 || item > 90) {
        return item;
      } else if (item < 78) {
        return item + 13;
      } else {
        return item - 13;
      }
    })
    .map(item => String.fromCharCode(item))
    .join("");
  return input;
}

// Change the inputs below to test
console.log(rot13("SERR CVMMN!"));

The numbers inside the if statements of the code above are ASCII codes that correspond to the uppercase letters of the alphabets.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.