Javascript lowerCamelCase,忽略字符串的第一个字母

Javascript lowerCamelCase,忽略字符串的第一个字母,javascript,string,camelcasing,Javascript,String,Camelcasing,尝试创建一个函数,如果传递true,则返回大写,如果传递false,则返回小写 到目前为止,我的第一个字母还行,但我不知道如何忽略字符串的第一个字母。我使用了charAt[0],但它只返回第一个字符 我见过,但不知道怎么做 这是我目前的代码: function sentenceToCamelCase(str, bool) { if (bool) { return str .toLowerCase() .split(" ") .m

尝试创建一个函数,如果传递true,则返回
大写
,如果传递false,则返回
小写

到目前为止,我的第一个字母还行,但我不知道如何忽略字符串的第一个字母。我使用了
charAt[0]
,但它只返回第一个字符

我见过,但不知道怎么做

这是我目前的代码:

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:预期“ThisSession”与“ThisSession”完全相等


JS很新,有人能帮我一下吗?谢谢。

如果
bool
参数仅用于将输出的第一个字符更改为小写或大写,则可以使用下面的解决方案。如果这不是你要找的,请在评论中告诉我

函数语句到密码(str,bool){
设res=str
.toLowerCase()
.拆分(“”)
.map(w=>w[0].toUpperCase()+w.substr(1))
.加入(“”);
如果(bool){
返回res[0].toUpperCase()+res.substr(1);
}
否则{
返回res[0].toLowerCase()+res.substr(1);
}
}
console.log(sentenceToCamelCase(“这个句子”,true));

console.log(sentenceToCamelCase(“这句话”,false))您可以只搜索空格和一个字符,然后根据布尔值进行替换

函数语句到密码(str,bool){
变量i=+bool;
返回str.replace(/(^ |\s+)/g,(|,|,s)=>i++?s.toUpperCase():s);
}
log(sentenceToCamelCase('once on a time',true));

log(sentenceToCamelCase('once on a time',false))谢谢你的帮助。对于您的解决方案,它没有通过我的第一个测试,当通过(“this Session”,true)时,它应该返回'ThisSession';如果要返回大写字母,则返回true;如果要返回小写字母,则返回falsereturned@VisualXZ我已经更新了方法。它现在通过你的测试了吗?