javascript - 使用 for 循环将每个单词的第一个字母大写(不能处理间距)
问题描述
我有一个函数应该将每个单词的第一个字母大写。我有一个简洁的解决方案.map
; 但是,为了练习,我正在尝试使用 for 循环来解决它。这是我所取得的成就:
我创建了一个 for 循环,但它似乎不起作用。
function UpperWithCycle(str) {
str = str.split(' ');
let result = '';
for (let i = 0; i < str.length; i++) {
result += str[i].substring(0, 1).toUpperCase() + str[i].substring(1).toLowerCase();
}
return result;
}
console.log(UpperWithCycle('hello everyone my name is Andrew, how are you doing?'))
所以,我知道我需要在join(' ')
这里添加某个地方,但我似乎无法弄清楚在哪里添加它以获得单词之间的空格。在我尝试添加它的任何地方,我都会得到“加入不是函数”
那么我在这里错过了什么,伙计们?
解决方案
您可以在除最后一个单词之外的每个单词之后添加空格:
function UpperWithCycle(str) {
str = str.split(' ');
let result = '';
for (let i = 0; i < str.length; i++) {
result += str[i].substring(0, 1).toUpperCase() + str[i].substring(1).toLowerCase();
result += i < str.length - 1 ? ' ' : '';
}
return result;
}
console.log(UpperWithCycle('hello everyone my name is Andrew, how are you doing?'))
推荐阅读
- terminal - 7z,如何在终端中没有__MACOSX文件夹的情况下解压
- python - 如何在没有 global 关键字的情况下全球化函数中的变量?
- sql - 长查询执行 - SSP 数据表
- javascript - 如何将javascript变量组合成一个对象
- python - Django从表单中添加小时和分钟
- sql - 在 ON 子句中使用 OR 在一个或其他列上的完整外部连接表
- reactjs - 创建反应应用程序无法正常工作
- yaml - 如何在R bookdown YAML中设置图形列表(lof)的位置
- javascript - 如何允许使用 node.js 导入目录?
- c++ - Bison c++ 变体与 flex 可重入 c++14 示例?