首頁 > web前端 > js教程 > 如何在 JavaScript 中將字串中每個單字的首字母大寫?

如何在 JavaScript 中將字串中每個單字的首字母大寫?

Linda Hamilton
發布: 2024-10-23 12:52:01
原創
636 人瀏覽過

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

使用JavaScript 將字串中每個單字的第一個字母大寫

問題:

我正在努力將字串中每個單字的第一個字母大寫一個字串。具體來說,我的函數將“我是一個小茶壺”轉換為“我是一個小茶壺”,而不是所需的輸出“我是一個小茶壺”。這是我的 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 語句中不必要的長度檢查。
  • 分配了將大寫單字回傳到陣列(例如 splitStr[i] = ...),而不是僅僅呼叫 charAt(0).toUpperCase()。
  • 直接回傳 splitStr.join(' ') 而不是先重新分配它到str。

以上是如何在 JavaScript 中將字串中每個單字的首字母大寫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板