我试图写一个简单的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;
}
}
答案 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)
//...