根据某些字母显示字符串

时间:2018-12-17 22:34:02

标签: javascript

我试图了解为什么我的代码无法正常工作。我正在创建一个接受字母的函数。如果字母是a,e,i,o或u,则我的程序应显示一条消息,指示输入的字母是元音。如果字母是y,则我的函数应显示一条消息,指示有时y是元音,有时y是辅音。否则,我的函数应显示一条消息,指示字母为辅音。

这是我的代码

function vowelOrCons(letter) {
  if((letter) === 'a'; 'e'; 'i'; 'o'; 'u') {
    return 'vowel';
  } else if {
   ((letter) === 'y') {
     return 'vowel or consonant';
  } else if {
   ((letter) === "b", "c", "d", "f", "g", "h", "j", "k", "l", 
    "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "z")
     return 'consonant';
    }
    else
    {
     return 'Your entry is invalid';
    }
  }
}

我正在尝试更好地学习Javascript,因此,感谢您对我的工作提供的任何帮助,资源和/或解释,谢谢!

4 个答案:

答案 0 :(得分:2)

您的问题是语法。

if ((condition || another-condition) && condition) {
}
else if (some-other-condition) {
}
else {
}

现在有关检查,可以通过使用includes字符串方法来缩短。

const firstLetter = letter.charAt(0);
if ("aeiou".includes(firstLetter)) { .. }

答案 1 :(得分:2)

您可以使用String#includes并返回true和消息。

此代码通过采用if子句并返回来提早退出方法。优点是省略了其他部分,因为返回值退出了该函数。

function vowelOrCons(letter) {
    letter = letter.toLowerCase();
    if ('aeiou'.includes(letter)) {
        return 'vowel';
    }
    if (letter === 'y') {
        return 'vowel or consonant';
    }
    if ('bcdfghjklmnpqrstvwxz'.includes(letter)) {
        return 'consonant';
    }
    return 'Your entry is invalid';
}

console.log(vowelOrCons('a'));
console.log(vowelOrCons('b'));
console.log(vowelOrCons('1'));

答案 2 :(得分:1)

好,这需要一些工作。 看看下面的固定代码。 首先,我们将测试字母移至数组并使用of的索引。 然后,我们修复了语法问题,并在最后添加了测试日志。

  function vowelOrCons(letter) {
     let vowels = ['a', 'e', 'i', 'o', 'u'];
     let consonants = ["b", "c", "d", "f", "g", "h", "j", "k", "l", 
          "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "z"];
     if(vowels.indexOf(letter) > -1 ) {
       return 'vowel';
     } else if(letter === 'y') {
          return 'vowel or consonant';
    } else if(consonants.indexOf(letter) > -1 ){
           return 'consonant';
      } else {
         return 'Your entry is invalid';
      }

   }

console.log(vowelOrCons('a'));
console.log(vowelOrCons(''));
console.log(vowelOrCons('1'));
console.log(vowelOrCons('y'));
console.log(vowelOrCons('w'));

答案 3 :(得分:1)

我建议您为元音声明一个数组,为辅音声明一个数组,然后检查被插入的字母是否在数组中,但首先检查它是否为'y',如下所示;

var vowels  = ['a', 'e', 'i',....]];
var consonants  = ['b', 'c', 'd', ....]];

if ('y' == letter) {
    // print your sentence
}
else if (/* letter is in the vowels array */) {
    // print your sentence
}
else if (/* letter is in the consonants array */) {
    // print your sentence
}

祝你好运