算法中级:儿童黑话
在这道题目中,我们需要写一个函数,把传入的字符串翻译成“儿童黑话”。
儿童黑话的基本转换规则很简单,只需要把一个英文单词的第一个辅音字母或第一组辅音从移到单词的结尾,并在后面加上ay即可。在英语中,字母 a、e、i、o、u 为元音,其余的字母均为辅音。辅音从的意思是连续的多个辅音字母。
额外地,如果单词本身是以元音开头的,那只需要在结尾加上way。
在本题中,传入的单词一定会是英文单词,且所有字母均为小写。
function translatePigLatin(str) {
if(/[aeiou]/.test(str[0])){
var s = str+'way';
}
else if(str.match(/[aeiou]/)!==null){
var target=str.indexOf(str.match(/[aeiou]/));
var s1=str.substr(target,str.length);
var s2=str.substr(0,target);
s=s1+s2+'ay';
}
else{
s=str+'ay';
}
return s;
}
translatePigLatin("consonant");
-
substr()函数:
语法:substr(start,length) -
test函数:
语法:RegExpObject.test(string)
RegExpObject:某种格式,可以为正则表达式,返回bool值。 -
match函数:
语法:stringObject.match(regexp)
括号内可填入需要检测的值,若stringObject中存在,返回该值,不存在则返回null