我该如何解决这个 javascript prompt=user Input from array to alert 问题

how do i fix this javascript prompt=userInput from array to alert problem

一旦我 运行 这段代码,我应该得到 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")
};

您收到 undefined 的原因是因为您在最终声明之前尝试使用 userInput。您尝试在声明中的同一操作中的 alert 中使用它。

你需要分离alert在userInput得到它的值后执行,如下所示。

如果你还想引用menu数组中的"pizza value",你需要将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")
};