繁体   English   中英

为什么未定义此javascript数组?

[英]why is this javascript array undefined?

我有以下代码,该代码尝试生成随机数的二维数组:

var block_size = 32;
var can_width = can.width;
var color_depth = 12;
var passes = can_width / block_size;
var map_store = new Array(passes);

for(i=0;i<passes;i++) {
  for(j=0;j<passes;j++) {
    map_store[i] = new Array(passes);
    color = Math.random() * color_depth;
    map_store[i][j] = Math.round(color);
  }
}

如果我将console.log语句放入循环中,那么这似乎很好用,但是如果我尝试在循环外访问map_store数组,这似乎很好。 它的所有元素都是不确定的。 为什么是这样?

map_store[i] = new Array(passes); 应该高于2nd for循环。 您正在清除以前的j值。

for(i=0;i<passes;i++) {
  map_store[i] = new Array(passes); // <--
  for(j=0;j<passes;j++) {
    color = Math.random() * color_depth;
    map_store[i][j] = Math.round(color);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM