Javascript 将字符串转换为由破折号连接的所有小写单词 函数spinalCase(str){ 对于(变量i=0;ic.toLowerCase())//使每个片段都是小写的 .join(“-”;//将每一个片段与一个“-”组合 } log(spinalCase(“这是脊椎穿刺”); log(spinalCase(“好的,很好”); log(spinalCase(“超级惊人的流!”)什么测试?是什么让你觉得你“错过”了什么?哦,不知怎么的,它就是不起作用。如果我使用console.log(spinalCase(“这是SpinalTap”)),它只会打印出这张图片。汉克斯,我把它修好了。谢谢,老兄,因为我是一个非常初学者,英语不是我的第一语言,所以我的方法可能是迂回的。非常感谢你的热情。 function spinalCase(str) { for ( var i = 0; i < str.length; i++) { if ( i == 0 && /[A-Z]/.test(str[i]) ) { str.replace(str[i], str[i].toLowerCase()) } else if ( i !== 0 && /[A-Z]/.test(str[i])) { str.replace(str[i], " " + str[i].toLowerCase()); } } return str.replace(/\s+/ig, "-"); }

Javascript 将字符串转换为由破折号连接的所有小写单词 函数spinalCase(str){ 对于(变量i=0;ic.toLowerCase())//使每个片段都是小写的 .join(“-”;//将每一个片段与一个“-”组合 } log(spinalCase(“这是脊椎穿刺”); log(spinalCase(“好的,很好”); log(spinalCase(“超级惊人的流!”)什么测试?是什么让你觉得你“错过”了什么?哦,不知怎么的,它就是不起作用。如果我使用console.log(spinalCase(“这是SpinalTap”)),它只会打印出这张图片。汉克斯,我把它修好了。谢谢,老兄,因为我是一个非常初学者,英语不是我的第一语言,所以我的方法可能是迂回的。非常感谢你的热情。 function spinalCase(str) { for ( var i = 0; i < str.length; i++) { if ( i == 0 && /[A-Z]/.test(str[i]) ) { str.replace(str[i], str[i].toLowerCase()) } else if ( i !== 0 && /[A-Z]/.test(str[i])) { str.replace(str[i], " " + str[i].toLowerCase()); } } return str.replace(/\s+/ig, "-"); },javascript,Javascript,其实我已经通过了这次考试,但我还是不明白我错过了什么。有人能帮我吗 非常感谢为什么代码“实际上通过了此测试”我没有答案-测试代码一定有缺陷 缺少的是string.replace方法返回一个新字符串,如果找到与第一个参数字符串匹配的字符串,则返回一个替换字符串;如果找不到匹配的字符串,则返回原始字符串的未修改副本。调用replace的字符串保持不变 因此,虽然str.replace()调用可能会替换字符,但不会捕获调用返回的更新字符串。停止为什么不使用简单的数组方法创建它?我用javascript

其实我已经通过了这次考试,但我还是不明白我错过了什么。有人能帮我吗

非常感谢

为什么代码“实际上通过了此测试”我没有答案-测试代码一定有缺陷

缺少的是
string.replace
方法返回一个新字符串,如果找到与第一个参数字符串匹配的字符串,则返回一个替换字符串;如果找不到匹配的字符串,则返回原始字符串的未修改副本。调用
replace
的字符串保持不变


因此,虽然
str.replace()
调用可能会替换字符,但不会捕获调用返回的更新字符串。

停止为什么不使用简单的数组方法创建它?我用javascript流创建了它,这是值得学习的。您可以检查所有功能。我还添加了一些注释以帮助您理解它:

函数spinalCase(str){
return str.split(“”//在空格处将字符串拆分为段
.map(c=>c.toLowerCase())//使每个片段都是小写的
.join(“-”;//将每一个片段与一个“-”组合
}
log(spinalCase(“这是脊椎穿刺”);
log(spinalCase(“好的,很好”);

log(spinalCase(“超级惊人的流!”)什么测试?是什么让你觉得你“错过”了什么?哦,不知怎么的,它就是不起作用。如果我使用console.log(spinalCase(“这是SpinalTap”)),它只会打印出这张图片。汉克斯,我把它修好了。谢谢,老兄,因为我是一个非常初学者,英语不是我的第一语言,所以我的方法可能是迂回的。非常感谢你的热情。
function spinalCase(str) {
      for ( var i = 0; i < str.length; i++) {
          if ( i == 0 && /[A-Z]/.test(str[i]) ) {
              str.replace(str[i], str[i].toLowerCase()) }
          else if ( i !== 0 && /[A-Z]/.test(str[i])) {
              str.replace(str[i], " " + str[i].toLowerCase()); } }
      return str.replace(/\s+/ig, "-");
}