【发布时间】:2017-05-14 20:24:59
【问题描述】:
我有一个作业任务,我必须编写一个函数,将写入该函数的句子中的每个单词大写。我的想法是将每个单词转换为一个数组,针对该数组中每个项目的第一个字母进行循环,然后将该数组转换回字符串。我想出的代码是这样的
function titleCase(string) {
var words = string.split(' ');
for (var i = 0; i < words.length; i++) {
const lettersUp = ((words[i])[0]).toUpperCase();
const result = words[i].replace((words[i])[0], lettersUp);
return result;
}
}
我现在遇到的问题是它只返回数组的第一个单词。从我一直在做的故障排除中,我感觉我把循环搞砸了,但我不知道怎么做。任何帮助将不胜感激。 谢谢。
【问题讨论】:
-
你从第一次迭代中返回,所以循环没用。
-
因为你在循环内部返回。
-
return string.replace(/\b[a-z]/g, c => c.toUpperCase());
标签: javascript arrays function loops