问题描述
错误显示“ AssertionError:预期'NEVER GIVE UP'与'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(" ");
}