diff --git a/src/core/operations/Substitute.mjs b/src/core/operations/Substitute.mjs index 39f13e89..1afe1f42 100644 --- a/src/core/operations/Substitute.mjs +++ b/src/core/operations/Substitute.mjs @@ -44,8 +44,8 @@ class Substitute extends Operation { * @returns {string} */ run(input, args) { - const plaintext = Utils.expandAlphRange(args[0]).join(""), - ciphertext = Utils.expandAlphRange(args[1]).join(""); + const plaintext = Utils.expandAlphRange([...args[0]]), + ciphertext = Utils.expandAlphRange([...args[1]]); let output = "", index = -1; @@ -53,9 +53,9 @@ class Substitute extends Operation { output = "Warning: Plaintext and Ciphertext lengths differ\n\n"; } - for (let i = 0; i < input.length; i++) { - index = plaintext.indexOf(input[i]); - output += index > -1 && index < ciphertext.length ? ciphertext[index] : input[i]; + for (const character of input) { + index = plaintext.indexOf(character); + output += index > -1 && index < ciphertext.length ? ciphertext[index] : character; } return output;