Как я могу исправить это приглашение JavaScript = userInput из массива, чтобы предупредить проблему - PullRequest
0 голосов
/ 31 октября 2018

После запуска этого кода я должен получить userInput, который представляет собой число от 0 до 3 и имя пиццы в окне предупреждения. Что я делаю не так?

var menu = [
  "0 = Calzone",
  "1 = Ost & Skinke",
  "2 = Margarita",
  "3 = BBQ Grill"
];

var userPostnummer = prompt("skriv inn postnummer")

if (userPostnummer >= 1000 && userPostnummer <= 1999) {
  alert("gratulerer du får et gratis pizza")
  var userInput = prompt("hvilket meny ønsker du å bestille?" + menu) + alert("pizza " + userInput + " er på vei til postnummer " + userPostnummer)

} else {
  alert("beklager, du er ikke i området hvor vi tilbyr gratis pizza")
};

1 Ответ

0 голосов
/ 31 октября 2018

Причина, по которой вы получаете undefined, заключается в том, что вы пытаетесь использовать userInput до того, как он наконец объявлен. Вы пытаетесь использовать его в alert в той же операции в объявлении.

Вам нужно отделить предупреждение, которое будет выполнено после того, как userInput получит свое значение, как показано ниже.

Если вы также хотите сослаться на «значение пиццы» в массиве menu, вам необходимо заменить userInput на menu[userInput]

var menu = [
  "0 = Calzone",
  "1 = Ost & Skinke",
  "2 = Margarita",
  "3 = BBQ Grill"
];

var userPostnummer = prompt("skriv inn postnummer")

if (userPostnummer >= 1000 && userPostnummer <= 1999) {
  alert("gratulerer du får et gratis pizza")
  var userInput = prompt("hvilket meny ønsker du å bestille?" + menu); 
  // Alert is now on its own row.
  // userInput is also replaced with menu[userInput]
  if (userInput < menu.length)
    alert("pizza " + menu[userInput] + " er på vei til postnummer " + userPostnummer)

} else {
  alert("beklager, du er ikke i området hvor vi tilbyr gratis pizza")
};
...