字符串连接算法挑战
问题:
将字符串转换为 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"
。
问题答案:
// "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<array.length;i++){
str=str.concat('-').concat(array[i].toLowerCase());
}
return str;