ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptで文字列内の各単語の最初の文字を大文字にするにはどうすればよいですか?

JavaScriptで文字列内の各単語の最初の文字を大文字にするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-23 12:52:01530ブラウズ

How to Capitalize the First Letter of Each Word in a String in JavaScript?

JavaScript を使用して文字列内の各単語の最初の文字を大文字にする

質問:

の各単語の最初の文字を大文字にするのに苦労しています。文字列。具体的には、この関数は、目的の出力「I'm A Little Tea Pot」ではなく、「I'm a little tea Pot」を「i'm a little teapot」に変換します。これが私の JavaScript コードです:

function titleCase(str) {
  var splitStr = str.toLowerCase().split(" ");

  for (var i = 0; i < splitStr.length; i++) {
    if (splitStr.length[i] < splitStr.length) {
      splitStr[i].charAt(0).toUpperCase();
    }

    str = splitStr.join(" ");
  }

  return str;
}

console.log(titleCase("I'm a little tea pot"));

答え:

コードのエラーは、変更された単語を配列に正しく割り当てていないことにあります。この問題を解決するには、コードを次のように変更します。

function titleCase(str) {
   var splitStr = str.toLowerCase().split(' ');
   for (var i = 0; i < splitStr.length; i++) {
       // No need to check if i is larger than splitStr length, as your for loop does that for you
       // Assign it back to the array
       splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);     
   }
   // Return the joined string directly
   return splitStr.join(' '); 
}

document.write(titleCase("I'm a little tea pot"));

変更点:

  • if ステートメント内の不要な長さチェックを削除しました。
  • charAt(0).toUpperCase() を呼び出す代わりに、大文字の単語を配列に戻します (例: splitStr[i] = ...)。
  • 最初に再代入する代わりに、splitStr.join(' ') を直接返しました。それを str.
に追加します。

以上がJavaScriptで文字列内の各単語の最初の文字を大文字にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。