如何将用户输入放入数组? for 语句可以放在 if/else 语句中吗? (Javascript)

How to put user input into an array? Can for statements go inside an if/else statement? (Javascript)

我知道这可能包含完全愚蠢的方法,但我只是在这里玩来学去。 我的问题是是否可以像我所做的那样在 if/else 语句中使用 if 语句。 最后,您将如何提示输入并将其放入数组?

var inputArr1 = prompt('Type a noun');
var inputArr2 = prompt('Type another noun');
var inputArr3 = prompt('Type another noun');
var inputArr4 = prompt('Type a final noun');

document.getElementById("inputArr1").value;
document.getElementById("inputArr2").value;
document.getElementById("inputArr3").value;
document.getElementById("inputArr4").value;

var recordedArray = [ inputArr1, inputArr2, inputArr3, inputArr4 ];

if (recordedArray.length == 3){
    for (var i = 0; i <= recordedArray.length; i++){
         console.log("I like to eat " + recordedArray[i] + " with ketchup!");
}
else {
    console.log("You did not type a proper entry or something. Try again.");
     }
}

将所有提示放入一个数组

    var prompts[4]="p1...","p2...","p3...","p4...";

    foreach item in prompts
        {
        console.log("before text"+item+"after text");
        }

可以像这样提示用户并将响应保存到数组中:

var questions = [ "question1", "question2", "question3" ];
var answers = [];
for (var i = 0; i < questions.length; i++) {
  answers.push(prompt(questions[i]));
}
console.log(answers);

看起来你在 if-else 语句周围的大括号有问题(一切都在 ifelse 指的是 for循环),但这个想法很好。 此外,您需要知道您的 recordedArray 长度将等于 4,而不是 3。

此外,下面的代码什么都不做或产生错误:

document.getElementById("inputArr1").value;
document.getElementById("inputArr2").value;
document.getElementById("inputArr3").value;
document.getElementById("inputArr4").value;

document.getElementById() 寻找 HTML 元素,如果它不存在你会得到

TypeError: Cannot read property 'value' of null

所以我建议删除这些代码行。