如何使用Javascript将英语单词翻译成pig latin?

时间:2016-03-06 03:11:02

标签: javascript function

我正处于计算机科学课程的初级阶段,我非常希望得到目前任务的帮助。作业是制作一个将英语单词翻译成猪拉丁语的程序。它从用户获取输入,然后吐出翻译后的字符串。例如,如果输入“hello world”,则输出应为“ellohay orldway”。但是,如果单词的第一个字母是元音,它只是在末尾添加“ay”而不会将第一个字母带到后面。 赋值的要求是我必须在我的代码中使用两个函数。这是我到目前为止的代码。对不起它不是很完整。

有人愿意让我知道下一步是什么吗?

var wordInput = prompt("Please enter a word to be translated into pig latin.").toLowerCase();

var myArray = wordInput.split(" ");

var vowel = function(word){
    switch (word.charAt(0)) {
  case 'a':
    return true;
    break;
  case 'e':
    return true;
    break;
  case 'i':
    return true;
    break;
  case 'o':
    return true;
    break;
  case 'u':
    return true;
    break;
  default:
    return false;
    break;

alert(wordInput + "ay")
}
}

var convertWord = function(word){
    return wordInput.substring(1) + wordInput.substring(0,1);
}


convertWord();

var res = wordInput.charAt(0)

2 个答案:

答案 0 :(得分:0)

有趣的问题。 也许在第二个函数中,您可以检查是否有元音:

vowel(word);
if true --> add 'ay'
if false --> swap first letter to end, then at 'ay'

答案 1 :(得分:0)

我的解决方案算法:

function translatePigLatin(str) {

  var vowels = ['a','e','i','o','u'];
  var slicedArr = [];
  var newStr = '';

  if (vowels.indexOf(str[0]) >= 0) { // First letter is a vowel, translate immediately
    return str + 'way';
  }

  for (var i=0; i<str.length; i++){
    if (vowels.indexOf(str[i]) >= 0) { // Vowel
      return newStr + slicedArr.join("") + 'ay';
    } else { // Consonant
      // Keep slicing from string until you hit a vowel
      slicedArr.push(str[i]);
      newStr = str.slice(i+1);
    }
  }

}