我有一个问题数组,它有两个元素,分别是玩家1的问题和玩家2的问题。问题是这样排列的对象:
var tempQuestion = {
qId: i,
leftQ: leftQ,
rightQ: rightQ,
correctAnswer: correctAnswer,
allAnswers: sortedAnswers,
questionText: questionText
}
我想访问整个问题对象并将其拉出到另一组当前问题中(每个玩家一个),因此两个玩家都有相同的进度,但他们不会覆盖彼此的问题。因此,我尝试使用ID字段上的find将它们从数组中拉出(就像在C#或VB MVC应用程序中那样)。
for (j = 0; j < playerCount; j++) {
// Pick a random question
this.Questions.push(this.players[j].questions);
var rand = this.Questions[j].length - 1;
function findQ(q) {
return q.qId === rand;
}
this.CurrentQuestion[j] = this.Questions[j].find(findQ);
}
然而,这会将CurrentQuestion
作为空值返回。
调试告诉我,这个问题是填充的,所以那里没有问题,玩家计数也被填充,所以它也不是。并且this.CurrentQuestion[j] = this.Questions[j].find(findQ);
行是使用错误打破应用程序的行:
this.CurrentQuestion为null
答案 0 :(得分:0)
数组this.CurrentQuestion
必须先存在才能访问它的元素
在开始循环之前添加:
this.CurrentQuestion=[];