給出一字符串,返回子字符首字符大寫的字符串正則表達式
titleCase("I'm a little tea pot") should return "I'm A Little Tea Pot".
字符串小寫後切割爲數組數組
for循環操做數組元素的首字符函數
拼接字符code
function titleCase(str) { var newArr = str.toLowerCase().split(' '); for(var i=0; i<newArr.length ; i++) { newArr[i] = newArr[i].replace(newArr[i][0],newArr[i][0].toUpperCase()); } return newArr.join(" "); } titleCase("I'm a little tea pot");
字符串小寫後切割爲數組regexp
利用map方法對數組元素統一風格化對象
function titleCase(str) { var newArr = str.toLowerCase().split(" "); newArr = newArr.map(function(val) { return val.replace(val[0],val[0].toUpperCase); }); return newArr.join(" "); } titleCase("I'm a little tea pot");
直接對字符串小寫化,replace操做字符串
function titleCase(str) { return str.toLowerCase().replace(/(^|\s)\S/g, (val) => val.toUpperCase()); } titleCase("I'm a little tea pot");
三種思路其實都是先轉化爲小寫字符,再經過str.replace()替換匹配項it
str.split()
匹配separation來分割字符串,返回新數組,不改變原數組io
str.replace(regexp|substr, newSubstr|function)
regexp (pattern)
一個 RegExp 對象或者其字面量。該正則所匹配的內容會被第二個參數的返回值替換掉。for循環
substr (pattern)
一個要被 newSubStr 替換的字符串。其被視爲一整個字符串,而不是一個正則表達式。僅僅是第一個匹配會被替換。
newSubStr (replacement)
用於替換掉第一個參數在原字符串中的匹配部分的 字符串。該字符串中能夠內插一些特殊的變量名。參考下面的使用字符串做爲參數。
function (replacement)
一個用來建立新子字符串的函數,該函數的返回值將替換掉第一個參數匹配到的結果。參考下面的指定一個函數做爲參數。
返回值
一個部分或所有匹配由替代模式所取代的新的字符串。
有其餘好的方法或思路的道友,不妨在沙發區神交一番。