码迷,mamicode.com
首页 > 其他好文 > 详细

儿童黑话

时间:2020-02-07 01:29:28      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:replace   i++   $2   lov   return   开头   字符   返回   else   

题目

在这道题目中,我们需要写一个函数,把传入的字符串翻译成“儿童黑话”。
儿童黑话的基本转换规则很简单,只需要把一个英文单词的第一个辅音字母或第一组辅音从移到单词的结尾,并在后面加上ay即可。在英语中,字母 a、e、i、o、u 为元音,其余的字母均为辅音。辅音从的意思是连续的多个辅音字母。
额外地,如果单词本身是以元音开头的,那只需要在结尾加上way。
在本题中,传入的单词一定会是英文单词,且所有字母均为小写
translatePigLatin("eight")应该返回 "eightway"
translatePigLatin("glove")应该返回 "oveglay"

代码一

function translatePigLatin(str) {
  if (isYuan(str.substr(0, 1))) {
    str += 'way'
  } else {
    let i = 1;
    while (!isYuan(str.substr(i, 1))) {
      i++;
    }
    str = str.substr(i) + str.substr(0, i) + 'ay'
  }
  return str;
}
function isYuan(c) {
  return c === 'a' || c === 'e' || c === 'i' || c === 'o' || c === 'u'
}
translatePigLatin("consonant");

代码一

function translatePigLatin(str) {
  if (isYuan(str.substr(0, 1))) {
    str += 'way'
  } else {
    str = str.replace(/^([^aeiou]+)(\w*)/, '$2$1ay')
  }
  return str;
}
function isYuan(c) {
  return c === 'a' || c === 'e' || c === 'i' || c === 'o' || c === 'u'
}
translatePigLatin("consonant");

儿童黑话

标签:replace   i++   $2   lov   return   开头   字符   返回   else   

原文地址:https://www.cnblogs.com/superlizhao/p/12271551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!