2017-10-08 106 views
-1
var e1, e2, e3, e4, e5, e6, e7, str; 

function capFirstLetter(str){ 
    return str.substr(0,1).toUpperCase() + str.substr(1).toLowerCase(); 
} 

e1 = prompt("Enter first name", "john"); 
e1 = capFirstLetter(e1); 

e3 = prompt("Enter the college name you are attending to", "seneca college"); 
e3 = e3.split(" "); 
var example2 = " "; 
for(var i=0; i<e3.length; i++){ 
    example2 += capFirstLetter(e3[i]) + e3[i].substr(1,e3[i].length-1) + " "; 
} 
console.log(example2); 

所以這就是我的代碼。 e3將使用名爲capFirstLetter的函數,它將轉換大寫的每個單詞的每個首字母。字符串輸出混合相同的字符兩次

但是,此代碼輸出的是「Burnhamurnham Collegeollege」。

而不是輸出「伯納姆學院」。所以,它輸出額外的字母「urnham」和「ollege」,所以我猜測它沒有第一個字母就再輸出一次。任何人都知道如何解決此問題?

+1

刪除空格取出'+ str.substr(1).toLowerCase()'或'+ E3 [I] .substr(1,E3 [I]。長度-1)' – ASDFGerte

+0

它創造了額外的1縮進,所以它的輸出/ t伯納姆學院,任何猜測爲什麼? –

+0

@Jondoe這解決了嗎? – aaron

回答

0

因此,它輸出單詞urnham和ollege的額外字母,所以即時猜測它的輸出一次沒有第一​​個字母。任何人都知道如何解決此問題?

刪除e3[i].substr(1,e3[i].length-1)example2 += capFirstLetter(e3[i]) + " ";

其建立額外的1個縮進,所以其輸出/噸伯納姆學院,任何猜測爲什麼?

var example2 = " ";