字符串连接算法挑战

将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也就是以连字符连接所有小写单词。

spinalCase("This Is Spinal Tap") 应该返回 "this-is-spinal-tap"
spinalCase("thisIsSpinalTap") 应该返回 "this-is-spinal-tap"
spinalCase("The_Andy_Griffith_Show") 应该返回 "the-andy-griffith-show"
spinalCase("Teletubbies say Eh-oh") 应该返回 "teletubbies-say-eh-oh"

function spinalCase(str) {

// "It's such a fine line between stupid, and clever."
// --David St. Hubbins
  var array=str.split(" ");
  if(array.length<=1){
    array=str.split("_");
  }
  if(array.length<=1){
    return str.replace(/([A-Z])/g,"-$1").toLowerCase();
  }
  str=array[0].toLowerCase();
  for(var i=1;i     str=str.concat('-').concat(array[i].toLowerCase());
  }
return str;
}

你可能感兴趣的:(web)