0

我要做的是编写一个函数,将字符串中的每个单词修改为 piglatin。对于每个单词,它需要根据它是否以元音开头来改变它。它需要在每个单词的末尾添加辅音,每个以元音开头的单词都需要在末尾添加ay。最后,对于每个单词,在添加这些后缀之前,它需要将单词的第一个字母放在末尾。有什么建议吗?

function pigLatin(whatWeTitle) {
            var alertThis = " ";
            var whatWeTitle = document.getElementById("isLeaper").value;
            var splitArray = whatWeTitle.split(" ");
            var finalString = "";
            for ( i = 0; i < splitArray.length; i++) {
                finalString += splitArray[i] + "ay ";
            }
            alert(finalString);
        }
4

1 回答 1

1

这看起来有点有趣,这是一个基于 的函数String.prototype.replace,它可以接受一个用于替换的函数:

function textToPig(t) {
  var vowels = {a:'a',e:'e',i:'i',o:'o'};

  return t.replace(/\w+/g, function(s){
    var first = s.substring(0,1);
    var rest = s.substring(1);

    return rest + first + (first in vowels? 'ay' : 'way')

  });
}

textToPig('foo bar each other   ') // "oofway arbway acheay theroay   "

那是你要的吗?注意连字符的单词。

于 2013-03-21T04:18:40.800 回答