Javascript 在数组中循环并在到达结束时返回到开始
我有一个简单的数组Javascript 在数组中循环并在到达结束时返回到开始,javascript,arrays,Javascript,Arrays,我有一个简单的数组 var answerAttribute = ['A','B','C','D']; 我有16个列表项,我试图完成的是循环列表的长度,不管列表是2项还是300项。我希望有一个与之关联的数据属性a、B、C或d 以下是我的工作内容: var questionOption = ''; for(var i = 0; i < quizContent.length; i++) { questionOption = answerAttribute[i % answerAttri
var answerAttribute = ['A','B','C','D'];
我有16个列表项,我试图完成的是循环列表的长度,不管列表是2项还是300项。我希望有一个与之关联的数据属性a、B、C或d
以下是我的工作内容:
var questionOption = '';
for(var i = 0; i < quizContent.length; i++) {
questionOption = answerAttribute[i % answerAttribute.length];
console.log(questionOption);
}
var-questionOption='';
对于(var i=0;i
将此记录到控制台时,它会记录A、AB、ABC、ABCD、ABCD未定义,并不断重复未定义,直到得出循环结论。我的问题是我做错了什么,以至于每个循环只记录一个字母。您可以只记录当前值,如下所示:
var questionOption = '';
for (var i = 0; i < quizContent.length; i++) {
//what is questionOption used for?
questionOption += answerAttribute[i];
console.log(answerAttribute[i]);
}
您可以只记录当前值,如下所示:
var questionOption = '';
for (var i = 0; i < quizContent.length; i++) {
//what is questionOption used for?
questionOption += answerAttribute[i];
console.log(answerAttribute[i]);
}
此语句是questionOption=questionOption+answerAttribute[i]
的缩写。它将在循环的每次迭代中将下一个元素附加到questionOption
看起来您想要的可能是questionOption=answerAttribute[i]
。这将用新元素替换questionOption
中的值,而不是附加它
此语句是questionOption=questionOption+answerAttribute[i]
的缩写。它将在循环的每次迭代中将下一个元素附加到questionOption
看起来您想要的可能是
questionOption=answerAttribute[i]
。这将用新元素替换questionOption
中的值,而不是附加它。不知何故,我怀疑问题实际上是关于日志记录的,实际上是关于结果字符串的
无论哪种方式,我都不会做循环
var-answerAttribute=['A','B','C','D'];
var quizContent=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
var questionOption=answerAttribute
.join(“”)
.repeat(Math.ceil(quizContent.length/answerAttribute.length))
.slice(0,quizContent.length);
console.log(查询选项)代码>不知何故,我怀疑这个问题实际上是关于日志记录的,实际上是关于结果字符串的
无论哪种方式,我都不会做循环
var-answerAttribute=['A','B','C','D'];
var quizContent=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
var questionOption=answerAttribute
.join(“”)
.repeat(Math.ceil(quizContent.length/answerAttribute.length))
.slice(0,quizContent.length);
console.log(查询选项)
您正在循环quizContent
索引,并将它们应用于answerAttribute
数组。我相信你想要的是一个嵌套的循环
var quizContent=Array(10);//假设你有10个测验题。。。
var answerAttribute=['A'、'B'、'C'、'D'];
对于(var i=0;i console.log(quizContent)
您正在循环quizContent
索引,并将它们应用于answerAttribute
数组。我相信你想要的是一个嵌套的循环
var quizContent=Array(10);//假设你有10个测验题。。。
var answerAttribute=['A'、'B'、'C'、'D'];
对于(var i=0;i
console.log(quizContent)你的问题是什么?你的情况应该提前发布,完成问题。很抱歉。啊,过早的提问。这是常有的事对@clockwork commentanswerAttribute[i]
的修改应该改为answerAttribute[i%4]
否则,如果quizContent.length>3我想你想要(var i=0;i但是很难说。请重新描述你的描述……你的问题是什么?你的情况应该提前发布,完成问题。很抱歉。啊,过早的提问。这是常有的事对@clockwork commentanswerAttribute[i]
的修改应该改为answerAttribute[i%4]
否则,如果quizContent.length>3我想你想要(var i=0;i但是很难说。请重新表述您的描述…如果quizContent.length>3
@SanchitPatiyal--no在Javascript中索引越界,您将无法定义@Malvolio我的意思是没有定义:如果这个问题没有答案,我想有一个未定义的会有意义。如果quizContent.length>3
@sanchipatiyal--no在Javascript中索引越界
,你会得到未定义@Malvolio我的意思是没有定义:如果这个问题没有答案,我想有一个未定义的答案会让我感谢你的解释。尽管如此,这正是我所需要的,但是在数组结束(到达'D')之后,它开始输出未定义的内容。然而,我将你的建议与@Jonas W结合起来,似乎得出了一个结论。我已更新代码以反映。非常感谢。正如其他人所提到的,它输出undefined
,因为answerAttribute
数组只有4个元素,但是i
的值可能更大,这取决于quizContent的长度
questionOption += answerAttribute[i]