我正在嘗試大寫字符串中每個單詞的第一個字母。我想分3步進行:無法大寫單詞的第一個字母
- 使用.split()將字符串轉換爲數組。
- 創建一個循環,並通過使用數組索引對其進行尋址來更改每個單詞中的第一個字母。
- 最後我想用.join把所有東西都放回到一個字符串中。
但是出了點問題,我不能去第三步。 for循環確實將字母改爲大寫,但是當我返回變量上限時,它只返回字符串中最後一個單詞的第一個大寫字母。在這個例子中,它是P(最後一個詞是罐子),如果我刪除罐子,它返回T(因爲茶是最後一個詞)。
爲什麼cap變量不能返回大寫首字母的整個數組?我錯過了什麼?
下面的代碼:
function titleCase(str) {
var arr = str.split(" ");
for (i = 0; i < arr.length; i++) {
var cap = arr[i][0].toUpperCase();
}
return cap;
}
titleCase("I'm a little tea pot");
的[字符串轉換爲用JavaScript標題情況]可能的複製(http://stackoverflow.com/questions/196972/convert-string- to-title-case-with-javascript) –
您正在設置'var cap =「當前單詞的第一個字母'',因此一旦循環完成,'cap'將被設置爲最後一個字母字。 – Santi
對於您可以在CSS中輕鬆完成的操作,這是很多開銷: .myclass { text-transform:capitalize; } – Korgrue