问题描述
我有问题和相应的选择
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的代码块来处理这个问题。但是我觉得一个循环可以把它淘汰掉并消除很多多余的代码。也许是一厢情愿?
解决方法
您可以使用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"]