2013-03-21 5 views
0

То, что я пытаюсь сделать, это написать функцию, которая изменяет каждое из слов в строке на piglatin. Для каждого из слов необходимо изменить его в зависимости от того, начинается ли он с гласного или нет. Он должен добавить путь в конце каждого слова согласным, и каждое слово, начинающееся с гласного, должно быть добавлено к концу. Наконец, для каждого слова необходимо добавить первую букву слова в конец, прежде чем добавлять эти sufixxes. Любой совет?Изменение каждого слова функции

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); 
     } 
+1

Похоже, вы на правильном пути. У вас есть какие-то конкретные вопросы? Похоже, что небольшое количество простой строковой логики - это все, что вам нужно добавить, чтобы закончить домашнее задание. Вот небольшой намек на то, чтобы вы прокатились ... Вы можете использовать [String.substring()] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substring), чтобы найти первая буква слова. Перейдите по ссылке, чтобы прочитать документацию, которая будет объяснять все. Он также содержит полезные примеры. Удачи! – jahroy

ответ

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 " 

Это то, что вы хотите? Будьте осторожны с переносимыми словами.

+0

Очень приятно. Благодарим за включение ссылки на спецификацию. Я никогда не видел этого раньше (что плохо). Теперь у меня есть закладки! – jahroy

Смежные вопросы