我需要幫助我的代碼。我正在嘗試接近凱撒密碼問題,並且從我讀過的讀物中我感覺我有點在正確的軌道上。我是編碼方面的新手,所以我仍然有很多東西需要學習,以免寫得太差。我試圖做的是將字符串拆分成一個數組,並檢查該數組的每個元素是否是一個字母。如果是,則該字母將使用來自Charcode()函數的charCodeAt()和轉換爲新字母。我設法只用一個字母分開做,但是當它進入循環時就會搞砸了。如果有人給我提示我做錯了什麼,或者即使我朝着正確的方向前進,我也將不勝感激。謝謝!凱撒密碼不理解如何解決
function rot13(str) {
var splitArr = str.split('');
var newArr = [ ];
for (var i = 0; i < str.length; i++){
if (isLetter(splitArr[i]) === true){
newArr = String.fromCharCode(splitArr.charCodeAt(splitArr.length[i]) + 13);
} else {
newArr.push(splitArr[i]);
}
}
return newArr.join("");
}
function isLetter(str) {
return str.length === 1 && str.match(/[A-z]/i); //checks if its a letter
}
// Change the inputs below to test
rot13("AB? ...");
非常感謝你,這是完全合理的。我將嘗試並實現代碼,並計算如何將字符串更改爲字母,但特殊字符保持不變。 – riv