如果变量等于值或另一个值 - javascript

时间:2017-09-12 08:51:29

标签: javascript list if-statement

我试图写一个简单的Pig Latin代码。我想检查输入字符串的第一个字母是否是元音,如果是,则运行该特定代码。如何询问y是否等于其中一个值。

function pigLatin() {
    var y = prompt("Enter a word:")
    if (y.charAt(0) = a,e,i,o,u) {
        var pigLatin = y + "ay";
        document.getElementById("answer").innerHTML = "Answer is: " + pigLatin;
    } else {
        var wordLength = y.length + 1;
        var pigLatin = y.substring(1, wordLength) + y.charAt(0) + "ay";
        document.getElementById("answer").innerHTML = "Answer is: " + pigLatin;
    }
}

2 个答案:

答案 0 :(得分:8)

if (y.charAt(0) = a,e,i,o,u) {

...无效。

...试

if ('aeiou'.includes(y.charAt(0))) {

你的问题是......

  • 必须引用字符串,即使它们只有一个字符长。
  • 数组必须包含[](除非通过其他方式构建,例如使用Array构造函数)
  • 您不能使用赋值运算符(=),也不能使用任何等价运算符(=====)来自动检查数组中是否存在项目。由于您要检查单个字符列表,因此可以直接使用String.prototype.includes()

如果用户取消prompt(),您也会得到null,而您没有处理(它会在提到的条件下崩溃)。

答案 1 :(得分:0)

首先,您需要在此

中使用引号
if (y.charAt(0) = a,e,i,o,u)

其次,使用===作为等号。

第三,你希望它成为元音之一' a'' e'' i'' o',& #39; U'

您可以将indexOf字符与-1:

进行比较
if (['a', 'e', 'i', 'o', 'u'].indexOf(y.charAt(0)) !== -1)
//...