我一直在Udacity上進行JS測驗。JavaScript日誌返回所需的字符串,但提交失敗
一個由任意大小寫的混合格式化的兩個單詞名稱的字符串,你可以操縱字符串以確保名字有第一個大寫字母並且姓氏全部大寫?假設名稱之間有空格。例如,將「cAmEROn PittMAN」這樣的字符串變成「Cameron PITTMAN」。您的答案應該是保存到名爲finalName的變量的單個字符串。
這裏是我的輸入代碼:
var name = "AlbERt EINstEiN";
function nameChanger(oldName) {
var finalName = oldName;
// Your code goes here!
var firstName = name.slice(0,7);
var firstNameA = firstName.charAt(0);
firstNameA = firstNameA.toUpperCase();
firstName = firstName.toLowerCase();
firstName = firstName.substr(1);
var lastName = name.slice(7);
lastName = lastName.toUpperCase();
finalName = firstNameA + firstName + lastName;
// Don't delete this line!
return finalName;
}
// Did your code work? The line below will tell you!
console.log(nameChanger(name));
控制檯回報:
08 12 2016 09:54:08.533: 無限併發 08 12 2016 09:54: 08.764: 對數:'Albert EINSTEIN'
我知道我的並不是最優化的代碼,但是因爲它返回了所需的字符串,所以在提交時它應該是正確的。然而,我只有這樣:
- >測試:nameChanger應該返回國際化名稱。返回正確的名稱:失敗 預計'阿爾伯特愛因斯坦'等於'傑夫諾曼'
我的代碼有什麼問題嗎?
這顯然與某種測試中,我們沒有使用的可能性。既然這當然了,也許你應該通過正確的渠道去問課程教師呢? –
因爲你在函數內部使用硬編碼的'name'變量,所以當你很可能使用傳入的參數'oldName'時 –