错误:状态[x]未定义

时间:2016-11-03 22:21:04

标签: javascript

我想创建一个可以像status[a][b]那样访问的字典 其中ab是初始化时未知的随机字符串。

这是确切的用例:

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

1 个答案:

答案 0 :(得分:1)

status是一个窗口属性,您无法更改其类型。因此,如果您在函数范围内(以避免使用全局窗口属性),则应使用var;如果必须是全局的,则应使用其他名称。

相关问题