我經歷了CoderByte練習,我碰到下面的問題就來了:更改字母算法,工作在JSBIN但不是在Coderbyte,尋求澄清
>使用JavaScript語言,具備的功能LetterChanges(STR )使用傳遞的str參數並使用以下算法對其進行修改。將字符串中的每個字母替換爲字母后面的字母(即c變成d,z變成a)。然後在這個新字符串(a,e,i,o,u)中大寫每個元音,最後返回這個修改過的字符串。
我在JSBin中寫出來,它工作正常(甚至te,但在CoderByte它沒有。我想問社區,如果我寫的是正確的,這是CoderByte上的問題,或者如果我的代碼是錯誤的,問題是JSBin
的代碼如下:。
function LetterChanges(str) {
var iLetters = str.split('');
var newStr = [];
for (var i = 0; i < str.length; i++) {
if (/[a-y]/ig.test(iLetters[i])) {
newStr[i] = String.fromCharCode(iLetters[i].charCodeAt(0) + 1);
if (/[aeiou]/ig.test(newStr[i])) {
newStr[i] = newStr[i].toUpperCase();
}
} else if (/[z]/ig.test(iLetters[i])) {
newStr[i] = "A";
} else if (/[^A-Z]/ig.test(iLetters[i])) {
newStr[i] = iLetters[i];
}
}
return newStr.join('');
}
看起來像他們的後端JS亞軍是錯誤的,無論是或控制檯中的錯誤,雖然它看起來不相關。 –
謝謝,我很感激。伸出我的JS肌肉進行一次技術性採訪,這讓我更加強調自己的方式。 – DefionsCode