【发布时间】:2017-01-15 16:44:33
【问题描述】:
我正在练习 Javascript,并且有以下代码在 sets[i][j] = initial_sets [i][j]; 行上返回 Uncaught TypeError: Cannot set property '0' of undefined 错误。这个想法似乎是正确的,但我无法弄清楚为什么我会收到错误。
var sets = [[],[]]; //Declared this 2D array based on solution in https://stackoverflow.com/questions/16512182/how-to-create-empty-2d-array-in-javascript
var initial_sets=[[a,b],[c,d],[e,f]]; //2D array
var i,j;
//2D array sets is being filled by 2D array initial_sets
for (i=0; i<initial_sets.length; i++) {
for (j=0; j<initial_sets[i].length; j++) {
sets[i][j] = initial_sets[i][j];
}
}
我尝试了Uncaught TypeError: Cannot set property '0' of undefined " 中发布的解决方案,方法是创建一个一维数组,然后为其分配另一个维度,但我仍然遇到同样的错误。
【问题讨论】:
-
initial_sets中有 3 个数组,但sets中只有 2 个数组,所以set[2]是undefined -
initial_sets虽然是一个二维数组 -
代码的最终目标是什么?
-
[[],[]];这里数组的大小是 2,所以你怎么能在第三个索引处放置任何东西
-
基于这个解决方案stackoverflow.com/questions/16512182/…它是一个二维数组的声明。不是只有 2 个索引的数组
标签: javascript arrays multidimensional-array