From 07700ae251548c4206e2fdf3dd46bb6cb0c0d9b4 Mon Sep 17 00:00:00 2001 From: billalp Date: Mon, 28 Oct 2019 11:03:08 +0000 Subject: [PATCH 1/4] Letters work as an array --- caesar/caesar.js | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/caesar/caesar.js b/caesar/caesar.js index f667b85..91b417a 100644 --- a/caesar/caesar.js +++ b/caesar/caesar.js @@ -1,24 +1,35 @@ const caesar = function(value, addBy) { + const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split(''); - const newVal = value.toString().toLowerCase(); + const valueLowerCase = value.toLowerCase(); + const valueArray = valueLowerCase.split(''); - if (alphabet.includes(newVal) === true) { - var letterIndex = alphabet.indexOf(newVal); - var finalIndex = letterIndex + addBy; + var newArr = []; - return alphabet[finalIndex].toUpperCase(); - } else { - return 'Value is not a part of the alphabet'; + for (var i = 0; i < valueArray.length; i++) { + if (alphabet.includes(valueArray[i])) { + let letterIndex = alphabet.indexOf(valueArray[i]); + let finalIndex = letterIndex + addBy; + + newArr.push(alphabet[finalIndex]); + } else { + // return 'is not a part of the alphabet'; + return 'no'; + } } + return newArr.join(''); } module.exports = caesar; /* Pseudocode - - - - +1 Take input and place in an array - then we have an array of letters +2 If not a letter then ignore +3 If a space or ! then return space or ! +4 If it is a letter, it comes to the end then keep going around +5 +6 +7 Factor in minus */ From 103a4e2b34271a96a1eaaa58adec47b5a84be28d Mon Sep 17 00:00:00 2001 From: billalp Date: Mon, 28 Oct 2019 11:09:46 +0000 Subject: [PATCH 2/4] Added extra logic for special characters --- caesar/caesar.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/caesar/caesar.js b/caesar/caesar.js index 91b417a..14c11f9 100644 --- a/caesar/caesar.js +++ b/caesar/caesar.js @@ -12,6 +12,12 @@ const caesar = function(value, addBy) { let finalIndex = letterIndex + addBy; newArr.push(alphabet[finalIndex]); + } else if (valueArray[i].includes(' ')) { + newArr.push(' '); + } else if (valueArray[i].includes('!')) { + newArr.push('!'); + } else if (valueArray[i].includes(',')) { + newArr.push(','); } else { // return 'is not a part of the alphabet'; return 'no'; From 48186acc19fd197468b13dceb95f1c369df8c895 Mon Sep 17 00:00:00 2001 From: billalp Date: Mon, 28 Oct 2019 11:17:07 +0000 Subject: [PATCH 3/4] Added special charactrs array --- caesar/caesar.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/caesar/caesar.js b/caesar/caesar.js index 14c11f9..58fedf4 100644 --- a/caesar/caesar.js +++ b/caesar/caesar.js @@ -1,6 +1,7 @@ const caesar = function(value, addBy) { const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split(''); + const specialChars = [' ', '!', ',']; const valueLowerCase = value.toLowerCase(); const valueArray = valueLowerCase.split(''); @@ -12,12 +13,8 @@ const caesar = function(value, addBy) { let finalIndex = letterIndex + addBy; newArr.push(alphabet[finalIndex]); - } else if (valueArray[i].includes(' ')) { - newArr.push(' '); - } else if (valueArray[i].includes('!')) { - newArr.push('!'); - } else if (valueArray[i].includes(',')) { - newArr.push(','); + } else if (specialChars.includes(valueArray[i])) { + newArr.push(valueArray[i]); } else { // return 'is not a part of the alphabet'; return 'no'; From bd9aeecd221d2862cbaad8516f6a26b44f8e18ee Mon Sep 17 00:00:00 2001 From: billalp Date: Mon, 28 Oct 2019 11:50:07 +0000 Subject: [PATCH 4/4] Tests work without capitalisation check --- caesar/caesar.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/caesar/caesar.js b/caesar/caesar.js index 58fedf4..6e8674d 100644 --- a/caesar/caesar.js +++ b/caesar/caesar.js @@ -8,16 +8,17 @@ const caesar = function(value, addBy) { var newArr = []; for (var i = 0; i < valueArray.length; i++) { + if (alphabet.includes(valueArray[i])) { let letterIndex = alphabet.indexOf(valueArray[i]); - let finalIndex = letterIndex + addBy; + let finalIndex = letterIndex + addBy; newArr.push(alphabet[finalIndex]); } else if (specialChars.includes(valueArray[i])) { newArr.push(valueArray[i]); } else { // return 'is not a part of the alphabet'; - return 'no'; + return 'Hello' } } return newArr.join(''); @@ -27,8 +28,8 @@ module.exports = caesar; /* Pseudocode 1 Take input and place in an array - then we have an array of letters -2 If not a letter then ignore -3 If a space or ! then return space or ! +2 If not a letter then ignore - DONE +3 If a space or ! then return space or ! - DONE 4 If it is a letter, it comes to the end then keep going around 5 6