Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于测验的Json数组_Javascript_Arrays_Json - Fatal编程技术网

Javascript 用于测验的Json数组

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

大家好,我需要一些帮助。我想做的是数一数答案的数量。“去”是问题,“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)
    {
        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。再次感谢!您可以打开所选浏览器的开发人员工具,并在控制台中查看正确答案。