javascript - JavaScript 中字符串的第一个元素大写
问题描述
错误显示“ AssertionError: expected ' NEVER GIVE UP' to deeply equal ' NEVER GIVE UP ' ”,我无法弄清楚为什么字符串开头的空白会被忽略。这是我的代码:
function letterCapitalize(str) {
if (str === '') {
return ''
}
let string = '' //array to string
let word = str.split(' ')
for (let i = 0; i < word.length; i++) {
if (word[i] !== '') {
string = string + word[i][0].toUpperCase() + word[i].slice(1, word[i].length) + ' '
} else if (word[i] === '') {
string = ' ' + string
}
}
return string.slice(0, string.length - 1)
}
控制台日志示例包括:
let output1 = letterCapitalize('hello world');
console.log(output1); // "Hello World"
let output2 = letterCapitalize('javascript is sexy ');
console.log(output2); // "Javascript Is Sexy "
解决方案
您的测试似乎最后需要一个空格,如果您真的想将字符串大写,请尝试这个,或者分享您的测试用例代码以便我看看。
const capitalize = str => {
if (!str) return "";
return str
.split(" ")
.map(el => el[0].toUpperCase() + el.slice(1))
.join(" ");
}
推荐阅读
- r - 如何对 R 中每个唯一组的值求和
- webassembly - WebAssembly 使用 i64 作为分支条件
- html - 如何调整 Ngx-Gallery 预览图像宽度?
- javascript - 比较数组中的关键字值字段 - Javascript
- gitlab - gitlab CI/CD:如何仅触发特定作业
- html - 按下按钮时调用功能 - 反应
- python - Python设置无法执行python脚本
- google-apps-script - 我想将内容从一个电子表格转移到另一个电子表格(电子表格 A 到电子表格 B),并手动将记录输入到 B
- java - java中使用lmax Disruptor(3.0)处理百万文档
- java - 如何在android java中检测editText中的url