Я пытаюсь написать простой латинский код Pig. Я хочу проверить, является ли первая буква входной строки гласной, если это так, чтобы запустить этот определенный код. Как я могу спросить, равна ли 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;
}
}
if (y.charAt(0) = a,e,i,o,u) {
...не является действительным.
Пытаться...
if ('aeiou'.includes(y.charAt(0))) {
Ваши проблемы...
[
и ]
(если не сконструирован с помощью другого средства, например, с конструктором Array
)=
) или любой оператор эквивалентности (==
или ===
) для автоматической проверки наличия элемента в массиве. Поскольку вы проверяете список отдельных символов, вы можете напрямую использовать String.prototype.includes()
. Если пользователь отменяет prompt()
, вы также получите null
, которое вы не обрабатываете (он будет сбой при упомянутом условии).
if ('aeiou'.includes(y.charAt(0))) {
.
Во-первых, вам нужно, чтобы буквы были в кавычках в этом
if (y.charAt(0) = a,e,i,o,u)
Во-вторых, используйте ===
для equals.
В-третьих, вы хотите, чтобы это была одна из гласных "a", "e", "i", "o", "u".
Вы можете сравнить indexOf
с char с -1:
if (['a', 'e', 'i', 'o', 'u'].indexOf(y.charAt(0)) !== -1)
//...
in
не работает так. Он проверяет наличие ключей в объекте, здесь у вас есть массив символов.