【问题标题】:Cannot set property '0' of undefined , creating multidimensional array in for loop [duplicate]无法设置未定义的属性'0',在for循环中创建多维数组[重复]
【发布时间】:2017-06-05 11:16:01
【问题描述】:

我正在尝试按“pokoj”键对对象进行分组。

var array = [];
            for (var i = 0; i < events.length; i++)
            {
                array[events[i]['pokoj']][i] = events[i]; 


            }
console.log(array);

【问题讨论】:

  • array[events[i]['pokoj']]undefined。您需要在通过[i]访问之前对其进行初始化@
  • 为什么有人投票以“关于专业服务器或网络相关基础设施管理的问题”来结束这个问题?
  • 我投票结束上述关闭投票。

标签: javascript


【解决方案1】:

您必须先检查子数组是否存在,如果不存在,则创建它:

var array = [];
for (var i = 0; i < events.length; i++) {
  if (!(events[i]['pokoj'] in array)) {
    array[events[i]['pokoj']] = [];
  }
  array[events[i]['pokoj']][i] = events[i]; 
}
console.log(array);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 2014-10-25
    • 2017-02-07
    • 1970-01-01
    相关资源
    最近更新 更多