0

私がやろうとしているのは、文字列内の各単語をピグラチンに変更する関数を作成することです。単語ごとに、母音で始まるかどうかに応じて変更する必要があります。子音を含む各単語の最後に way を追加する必要があり、母音で始まる各単語の最後に 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 に答える