From 980018577a8bd57d28bb17cef84140961fbed9cf Mon Sep 17 00:00:00 2001 From: vfonsah Date: Sun, 6 Sep 2020 23:49:26 +0100 Subject: [PATCH] the caesar cypher project --- caesar/caesar.js | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/caesar/caesar.js b/caesar/caesar.js index f4d6a25..6afc44d 100644 --- a/caesar/caesar.js +++ b/caesar/caesar.js @@ -1,5 +1,23 @@ -const caesar = function() { +const caesar = function (clearStr, key) { + let strArr = clearStr.split(""); -} + for (let i = 0; i < strArr.length; i++) { + const charCode = strArr[i].charCodeAt(); -module.exports = caesar + if ( + (charCode >= 65 && charCode <= 90) || + (charCode >= 97 && charCode <= 122) + ) { + strArr[i] = String.fromCharCode( + mod(charCode + key - codeSet(charCode), 26) + codeSet(charCode) + ); + } + } + // return matchArr + return strArr.join(""); +}; + +const codeSet = (code) => (code < 97 ? 65 : 97); +const mod = (n, m) => ((n % m) + m) % m; + +module.exports = caesar;