Javascript 数组对象的数组
我有一个名为'questions'的数组,还有一个与之关联的对象变量,它也是一个名为'choices'的数组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
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。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。