Javascript 数组对象的数组

Javascript 数组对象的数组,javascript,Javascript,我有一个名为'questions'的数组,还有一个与之关联的对象变量,它也是一个名为'choices'的数组 var questions = [ { question: "What type of business do you run?", choices: ['Business to Business - Provide products and/or services to other businesses', 'Business to Business to Cons

我有一个名为'questions'的数组,还有一个与之关联的对象变量,它也是一个名为'choices'的数组

var questions = [
{
question: "What type of business do you run?",
choices: ['Business to Business - Provide products and/or services to other 
         businesses', 'Business to Business to Consumer - Provide products 
         and/or services to other businesses for consumers', 
         'Business to Consumer - Provide products and/or services to 
         consumers'],
choiceValues: [1, 2, 3],
}
我想在for循环中使用“choices”的长度,如下所示。这个语法正确吗?我似乎无法使“points”变量增加

function displayScore() 
{
var score = $('<p>',{id: 'question'});
var points = 0;
for (var i = 0; i < selections.length; i++) 
{
    for (var j = 0; j < questions[i].choices.length; j++)
    {
        if (selections[i] === questions[i].choices[j]) 
        {
            points = points + questions[i].choiceValues[j];
        }
    }
}
score.append('You got ' + points + ' points!');
return score;
}
函数displayScore()
{
变量得分=$(“”,{id:'问题'});
var点=0;
对于(变量i=0;i

“选择”的一个例子是:[0,4,0,1,0,1,1,1]。

问题是
选择[i]
是一个
数字
(0)
问题[i]。选择[j]
是一个
字符串
(“企业对企业-向其他企业提供产品和/或服务”)
,因此,
如果(选择[i]===问题[i]。选项[j])
不起作用(总是
false

您可以改为检查选项的索引:

if (selections[i] === j) 
{
    points = points + questions[i].choiceValues[j];
}
另外,
的内部
也没有用,您可以这样做:

function displayScore() 
{
    var score = $('<p>',{id: 'question'});
    var points = 0;
    for (var i = 0; i < selections.length; i++) {
        points += questions[i].choiceValues[selections[i]];
    }
    score.append('You got ' + points + ' points!');
    return score;
}
函数displayScore()
{
变量得分=$(“”,{id:'问题'});
var点=0;
对于(变量i=0;i
您是否验证了问题[i].选择[j]
是什么?它符合你的期望吗?另外,什么是
selections
?@Carcigenicate“selections”是一个数组,包含用户对问题的答案。我使用内部for循环检查列表中的哪个答案与他们的答案匹配。根据匹配的答案,分配一定数量的点,由“choiceValues”定义。提供
选择的示例question@RoKath什么是choiceValue?很乐意提供帮助,欢迎使用Stack Overflow。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。