在JS內令字串的每個單詞首字母變為大寫的方法
阿新 • • 發佈:2019-01-04
最近在學習JS的內建物件。
在申明字串的時候,如果要將字串的每個單詞首字母都大寫,長句子人工修改即為不變。舉個栗子,將以下句子每個首字母大寫:
var str="frankly, my dear, I don't give a damn";
首先,字串是無法直接修改的,JS無法根據字串的空格進行判斷修改,所以可以通過split(),將字串轉為陣列。
var arr=str.split(" ");
在控制檯看看下效果:
可以看到字串被切割成了陣列。
建立一個新陣列,並且加上迴圈,第i個數組內的字串的第1個字元用toUpperCase() 進行大寫,同時加上除了首字母后的字元,切割:substring(1)
substring(start,end),是含頭不含尾。substring(1,3)則代表陣列內的[1] [2]。只填寫1代表從1開始之後的所有:
var b=new Array(i);
for (var i=0;i<arr.length;i++){
b[i]=arr[i][0].toUpperCase()+arr[i].substring(1);
}
最後在利用陣列的內建物件join() 將陣列拼接成字串並除錯:
str=b.join(" ");
console.log(str)
完整程式碼如下:
var str= "frankly, my dear, I don't give a damn";
var arr=str.split(" ");
console.log(arr)
var b=new Array(i);
for (var i=0;i<arr.length;i++){
b[i]=arr[i][0].toUpperCase()+arr[i].substring(1);
}
str=b.join(" ");
console.log(str)