文字列のすべての単語の最初の文字を大文字にすることを試みています。私は3つのステップでそれをやりたかった:単語の最初の文字を大文字にすることはできません
- 文字列を.split()を使って配列に変換する。
- ループを作成し、配列インデックスを使用してすべての単語の最初の文字を変更します。
- 最後に、すべてを文字列に戻すために.joinを使用したかったのです。
しかし、何かがうまくいかず、私は第3ステップに行くことができません。 forループは文字を大文字に変換しますが、変数capを返すと、文字列の最後の単語の最初の大文字の文字だけが返されます。この例ではP(最後の単語はポット)ですが、ポットを消去するとTが返されます(茶は最後の単語になります)。
なぜキャップ変数は大文字の最初の文字で配列全体を返しませんか?私は何が欠けていますか?
ここでは、コードです:
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");
可能な複製(http://stackoverflow.com/questions/196972/convert-string- to-title-case-with-javascript) –
現在の単語の最初の文字を '' var cap = "に設定しているので、ループが完了すると、' cap'は最後の文字の最初の文字に設定されますワード。 – Santi
これは、CSSで簡単にできることのオーバーヘッドです。 .myclass { text-transform:capitalize; } – Korgrue