1. 程式人生 > >在JS內令字串的每個單詞首字母變為大寫的方法

在JS內令字串的每個單詞首字母變為大寫的方法

最近在學習JS的內建物件。
在申明字串的時候,如果要將字串的每個單詞首字母都大寫,長句子人工修改即為不變。舉個栗子,將以下句子每個首字母大寫:

var str="frankly, my dear, I don't give a damn";

首先,字串是無法直接修改的,JS無法根據字串的空格進行判斷修改,所以可以通過split(),將字串轉為陣列。

var arr=str.split(" ");

在控制檯看看下效果:
在這裡插入圖片描述
可以看到字串被切割成了陣列。
建立一個新陣列,並且加上迴圈,第i個數組內的字串的第1個字元用toUpperCase() 進行大寫,同時加上除了首字母后的字元,切割:substring(1)

或者 slice()
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)