Javascript 用于测验的Json数组
大家好,我需要一些帮助。我想做的是数一数答案的数量。“去”是问题,“ca”是正确答案。我需要得到数组中的答案数量Javascript 用于测验的Json数组,javascript,arrays,json,Javascript,Arrays,Json,大家好,我需要一些帮助。我想做的是数一数答案的数量。“去”是问题,“ca”是正确答案。我需要得到数组中的答案数量 var questions = [{"qu" : "question?","ca0" : "answer1","ca1" : "answer2"}]; 我试过这样的东西,但没用 for(var i = 0; i< 10;i++) { var cax = "ca" + i; if(questions[0].cax == null) { a
var questions = [{"qu" : "question?","ca0" : "answer1","ca1" : "answer2"}];
我试过这样的东西,但没用
for(var i = 0; i< 10;i++)
{
var cax = "ca" + i;
if(questions[0].cax == null)
{
alert("there are " + (i+1) + "answers");
break;
}
}
for(变量i=0;i<10;i++)
{
var cax=“ca”+i;
if(问题[0]。cax==null)
{
警告(“有”+(i+1)+“答案”);
打破
}
}
任何帮助都会很棒 根据我对这个问题的理解。您需要使用
问题[0][cax]
而不是问题[0]。cax
var questions = [{
"qu": "question?",
"ca0": "answer1",
"ca1": "answer2"
}];
for (var i = 0; i < 10; i++) {
var cax = "ca" + i;
if (questions[0][cax] == null) {
alert("there are " + (i + 1) + "answers");
break;
}
}
var问题=[{
"曲":"问题",,
“ca0”:“回答1”,
“ca1”:“回答2”
}];
对于(变量i=0;i<10;i++){
var cax=“ca”+i;
如果(问题[0][cax]==null){
警告(“有”+(i+1)+“答案”);
打破
}
}
假设我正确理解您的问题,并且您想知道数组“问题”中有多少元素:
问题中的元素数量可以通过使用
问题来获得。长度我假设了很多事情,但这可能就是你想要的
for(var i=0; i < questions.length; i++)
{
console.log("Number of answers for Question No." + i + " - " + Object.keys(questions[i]).length - 1);
}
for(变量i=0;i
在旧浏览器上不起作用
Doc像这样的东西我想正是你想要的
var quiz = {
questions: [{
question: 'what is 2x2?',
answer: 5,
correctAnswer: 4
}, {
question: 'what is 3x2?',
answer: 12,
correctAnswer: 6
}, {
question: 'what is 2+4',
answer: 6,
correctAnswer: 6
}
]
};
function gradeQuiz(array) {
var rightAnswers = 0;
for (var i = 0; i < array.questions.length; i++) {
if (array.questions[i].answer === array.questions[i].correctAnswer) {
rightAnswers++;
}
}
console.log('there were ' + array.questions.length + ' questions');
console.log('you got ' + rightAnswers + ' correct');
}
gradeQuiz(quiz);
var测验={
问题:[{
问题:“2x2是什么?”,
答:五,,
正确答案:4
}, {
问题:“3x2是什么?”,
答:12,,
正确答案:6
}, {
问题:“什么是2+4”,
答:六,,
正确答案:6
}
]
};
功能等级测验(数组){
var rightAnswers=0;
对于(var i=0;i
以下是您的答案:
var questions = [{"qu" : "question?","ca0" : "answer1","ca1" : "answer2"}];
var nCorrect = 0;
for (var i=0; i < questions.length; ++i) {
var q = questions[i];
for (var p in q) {
if (p.indexOf("ca") == 0)
nCorrect++;
}
}
alert("There are " + nCorrect + " answers");
var-questions=[{“qu”:“question?”,“ca0”:“answer1”,“ca1”:“answer2”}];
var nCorrect=0;
对于(变量i=0;i
首先,你需要使用数组的长度,而不是像for循环中的10这样的任意数字。@wootscootinboogie这不是主要的问题,即使我这样做,它也不会工作。。。我不喜欢我的帖子,因为这是站不住脚的。。。只是说请编辑你的问题,什么是正确答案ca0、ca1或ca(某物)?@BharathRallapalli他们都是正确的。你首先能控制那个物体吗?我建议更改格式,并将所有正确答案放入嵌套数组中。然后,只需查询该内部数组的length
属性就可以得到答案的数量。谢谢,这就成功了;)只是现在没有必要做i+1。再次感谢!您可以打开所选浏览器的开发人员工具,并在控制台中查看正确答案。