lowerCamelCase, ignoring the first letter of string
尝试生成一个函数,如果传递true,则返回
到目前为止,我的第一个字还可以,但还不知道如何忽略字符串的第一个字母。我使用了
我看过这些线,但不知道该怎么做。
这是迄今为止我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function sentenceToCamelCase(str, bool) { if (bool) { return str .toLowerCase() .split("") .map(w => w[0].toUpperCase() + w.substr(1)) .join(""); } else { return str .toLowerCase() .split("") .map(w => w[0].toUpperCase() + w.substr(1)) .join(""); } } |
我得到这个错误:
AssertionError: expected 'ThisSentence' to deeply equal 'thisSentence'
刚接触JS,有人能帮我一把吗?谢谢您。
您只需搜索空格和一个字符,然后根据布尔值进行替换。
1 2 3 4 5 6 7 | function sentenceToCamelCase(str, bool) { var i = +bool; return str.replace(/(^|\s+)(.)/g, (_, __, s) => i++ ? s.toUpperCase(): s); } console.log(sentenceToCamelCase('once upon a time', true)); console.log(sentenceToCamelCase('once upon a time', false)); |
如果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | function sentenceToCamelCase(str, bool) { let res = str .toLowerCase() .split("") .map(w => w[0].toUpperCase() + w.substr(1)) .join(""); if(bool) { return res[0].toUpperCase() + res.substr(1); } else { return res[0].toLowerCase() + res.substr(1); } } console.log(sentenceToCamelCase("this sentence", true)); console.log(sentenceToCamelCase("this sentence", false)); |