我想创建一个可以像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

最佳答案

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

关于javascript - 错误:状态[x]未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40412208/

10-11 13:00