我想创建一个可以像status[a][b]
这样访问的字典
其中a
和b
是初始化时未知的随机字符串。
这是确切的用例:
status = {}
name = {};
time = {};
score = {};
for (i=0; i<$scope.submissions.length; i++)
{
e = $scope.submissions[i];
status[e.rno] = status[e.rno] || {};
time[e.rno] = time[e.rno] || 0;
score[e.rno] = score[e.rno] || 0;
status[e.rno][e.problem] = status[e.rno][e.problem] || 0;
if (e.score == 100 && status[e.rno][e.problem] == 0)
{
status[e.rno][e.problem] = 100;
time[e.rno] += e.id;
score[e.rno] += 100;
}
}
console.log(score["20161230"]);
它引发错误:
Error: status[e.rno] is undefined
最佳答案
status
是窗口属性,您不能更改其类型。因此,如果您在函数范围内(请避免使用全局窗口属性),则应使用var
;如果必须是全局名称,则应使用其他名称。
关于javascript - 错误:状态[x]未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40412208/