function titleCase(str) {
var words = str.split(" ");
var capsOn = "";
var titleArray = [];
for (var i = 0; i < words.length; i++) {
capsOn = words[i].substring(0,1).toUpperCase() + words[i].substring(1).toLowerCase();
}
return titleArray.join(" ");
}
titleCase("I'm a little tea pot");
我只是坚持使用 titleArray capsOn (具有将数组中的每个元素首字母转换为大写的功能)的一行代码>(应该返回所有加入的capsOn的值以再次形成整个句子)
答案 0 :(得分:1)
您需要将大写单词推入数组titleArray
function titleCase(str) {
var words = str.split(" ");
var titleArray = [];
for (var i = 0; i < words.length; i++) {
// +--- Right here!
// |
// v
titleArray.push(words[i].substring(0,1).toUpperCase() + words[i].substring(1).toLowerCase());
}
return titleArray.join(" ");
}
console.log(titleCase("I'm a little tea pot"));
使用正则表达式和ES6功能的替代方法(传播语法和解构分配):
function titleCase(str) {
var words = str.split(/\s+/g);
for (var i = 0; i < words.length; i++) {
var [letter, ...rest] = words[i].split('');
words[i] = letter.toUpperCase() + rest.join('').toLowerCase();
}
return words.join(" ");
}
console.log(titleCase("I'm a little tea pot"));
使用函数replace
并保持原始结构的替代方法:
function titleCase(str) {
return str.replace(/\S*(.*?)\S+/g, function(word) {
var [letter, ...rest] = word.trim().split('');
var spaces = word.match(/\s+/g).join('');
return spaces + letter.toUpperCase() + rest.join('').toLowerCase()
});
}
console.log(titleCase(" I'm a little tea pot "));
答案 1 :(得分:0)
您可以使用map
功能实现此目的,在split
string
后,它变为Array
,然后您可以使用map
更改每个Array
的值为新值
const titleCase = (str) => str.split(" ").map(
element => element.substring(0, 1).toUpperCase() + element.substring(1)
).join(" ");
const result = titleCase(teapot);
console.log(result) //I'm A Little Tea Pot
答案 2 :(得分:0)
首先,您最好知道包含对象\ strings \ array \ etc
上大多数基本函数的these methods from the Lex SDK库。在你的情况下,lodash是lodash函数,它返回单词的大写版本
FRED - &gt;佛瑞德
fred - &gt;佛瑞德
第二,你最好使用.map功能,它更清楚。 试试看:
function randommonth() {
var tbl="janvier,février,mars,avril,mai,juin,juillet,août,septembre,novembre,décembre".split(',');
var mes = tbl[Math.floor(Math.random()*tbl.length)];
document.getElementById('mois').innerHTML = mes;
}
祝你好运!