挑戰提出的問題:這個編碼器字節代碼有什麼問題(簡單的挑戰2)?
使用JavaScript語言,請使用函數LetterChanges(str)傳遞str參數並使用以下算法對其進行修改。將字符串中的每個字母替換爲字母后面的字母(即c變成d,z變成a)。然後在這個新字符串(a,e,i,o,u)中大寫每個元音,最後返回這個修改過的字符串。
我的解決辦法:
function LetterChanges(str) {
var alphabet = [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z];
var vowels = [a,e,i,o,u];
var stringToArray = str.split("");
for (i=0; i<=stringToArray.length; i++){ //goes through new array one-by-one
var originalLetter = stringToArray[i] // names each letter
var alphabetPosition = alphabet.indexOf(); // finds letter position in alphabet array
var newAlphabetPosition = alphabetPosition + 1; // adds one to that position
var newLetter = alphabet[newAlphabetPosition]; // changes the old letter to the new
newLetter = stringToArray[i]; // sends new letter to its position on new array
if (newLetter.isInArray(vowels){ // finds if new letter is a vowel
newLetter = newLetter.toUpperCase(); // if yes, turn into upper case
}
str = stringToArray.toStr() //turns array back to string, and names it str
}
return str;
}
我試着在我的思路很清晰,增加一個步驟之一。請不要使用快速方法,因爲我真的想正確理解挑戰背後的原因,而不是記住方法。
什麼是你的實際問題?如果此代碼正常工作,並且您還有其他關於重構,性能和可維護性的問題,您還可以考慮[代碼評論](http://codereview.stackexchange.com/)。不要在這兩個網站上發帖。 – ryanyuyu
@Kvera此代碼[似乎無法正常工作](http://repl.it/languages/JavaScript)... – Phrancis