這是我第一次在這裏發表,我對編碼非常陌生。for/in循環中的計數器變量
我想大寫任何給定字符串的每個單詞中的第一個字母。我已將字符串分成單獨的字母,並使用for/in循環遍歷每個字母。
這是我到目前爲止有:
function LetterCapitalize(str) {
var split = str.split('');
for (var i in split) {
if (i === 0) {
split[i] = split[i].toUpperCase();
} else if (split[i] === " ") {
split[i+1] = split[i+1].toUpperCase();
}
}
str = split.join('');
return str;
}
console.log(LetterCapitalize('hello world'));
我不斷收到一個錯誤「遺漏的類型錯誤:無法讀取屬性‘’的未定義」
toUpperCase我在做什麼錯。做什麼我想做什麼更好的方式是什麼?
另一種選擇,你可以使用CSS來代替,以'文本轉換:大寫;':) – Delosdos
[不使用'對...有陣列in'(http://stackoverflow.com /問題/ 500504 /爲什麼 - 是 - 使用換的,與陣列迭代-A-壞主意)。 'i'是一個字符串,所以在索引5處你會得到'「5」+1 ===「51」'。 – JJJ
哈哈,是的!這意味着更多的JavaScript思想練習來幫助我學習語言,CSS會作弊:) – anytimesoon