给出一字符串,返回子字符首字符大写的字符串正则表达式
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)
一个用来建立新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。参考下面的指定一个函数做为参数。
返回值
一个部分或所有匹配由替代模式所取代的新的字符串。
有其余好的方法或思路的道友,不妨在沙发区神交一番。