Refactoring: took out extra uses of looking up the current character in the input phrase. Instead this happens once and the value is stored in the variable currentChar, which is reused. Also cleaned up comments, and declared currentCharIndex inside of the for loop instead of at the top of the file since it isn't reused. All tests still pass.
Adds and passes a new test which shows that the cipher should pass all characters that are not in the letter and number arrays through unchanged, including spaces. Changed if-else inside of loop to first look for numbers, then letters, then output anything else unchanged.
Adds and passes tests for using an input character at the end of either the alphabetical or numerical arrays where the shift amount causes the character to loop back to the beginning of the array. For example z + shift1 = a. Uses a while loop to count through each array.
Refactors by creating a new function which encodes a single character using a given array of characters and a shift amount. Includes while loop to account for use cases where shift amount + character index is > the length of the array.