Так что я работаю над вызовом freecodecamp, где мне нужно расшифровать ceasar-шифры. Я сделал вторичную функцию, которая вызывается из основной функции для декодирования каждого слова в строке. У меня проблемы с этим вторичным кодом, потому что он продолжает выдавать ошибку, что строковый аргумент, заданный в качестве параметра, не определен, и что я не могу получить доступ к длине. Может кто-нибудь объяснить, что происходит?
Отказ от ответственности: я новичок в кодировании и провел последние 30 минут в поисках ответа на эту проблему, но я не могу его найти. Я чувствую, что это исправление должно быть легким и простым и заранее извиниться, если кто-то сочтет этот вопрос излишним.
Вот код:
function rot13(str) { // LBH QVQ VG!
var stringArray = [];
stringArray = str.split(" ");
var value = stringArray.length;
var decodedWords = [];
var iCount = 0;
while(iCount < value){
decodedWords.push(decodeWord(stringArray[i]));
iCount++;
}
return decodeWord("Confused!");
}
function decodeWord(word) {
var decodedWord = "";
for (i = 0; i < word.length; i++){
var cipherVal = word.charCodeAt(i);
var decodedVal = cipherVal;
if( cipherVal >= 97 && cipherVal <= 109 || cipherVal >= 65 && cipherVal <= 77){
decodedVal = cipherVal + 13;
}
else if(cipherVal >= 110 && cipherVal <= 122 || cipherVal >= 78 &&
cipherVal <= 90){
decodedVal = cipherVal - 13;
}
decodedWord += String.fromCharCode(decodedVal);
}
return decodedWord;
}
Спасибо за любой совет! Очень ценится.