是否可以在确认框中循环遍历消息数组和相应的选择数组

时间:2020-09-30 02:42:04

标签: loops confirm

在这里的新手,我已经用谷歌搜索了,找不到答案。


我有问题和相应的选择

var questions = ["Would you like A?", "Would you like B?", "Would you like C?"
var choices = [A, B, C]

我想在一个循环或循环函数中将两个数组循环在一起,以便在确认框中提出问题,当我确认或不确认时,将记录相应的选择。例如。

“确认问题A也确认选择A”

现在我已经知道了,确认框会遍历所有问题,但是我选择的选项在控制台日志中显示为未定义。

questions.forEach(function(item, index){
        confirm(item, choices[index]);
        console.log(item, choices[index])
        });

我想将用户输入用于“ if”和“ else”语句。

我用A,B和C的代码块来处理这个问题。但是我觉得一个循环可以把它淘汰掉并消除很多多余的代码。也许是一厢情愿?

1 个答案:

答案 0 :(得分:0)

您可以使用confirm用选定的答案填充数组,或使用null,然后使用filter删除null。

var questions = ["Would you like A?", "Would you like B?", "Would you like C?"]
var choices = ["A", "B", "C"]
var sel = []

questions.forEach(function(item, index){
        sel.push(confirm(item, choices[index])?choices[index]:null); // null if not selected
        console.log(item, choices[index]) 
        });
console.log(sel.filter(x => x!=null))  // remove nulls

输出(选择A和C)

Would you like A?A
Would you like B?B
Would you like C?C
(2) ["A","C"]
相关问题