我试图用javascript创建一个二维数组,最终可以将其放入嵌套循环中以提取X/Y信息。
这里我做错了什么?
function createMatrix(){
let colcount = 0;
let rowcount = 0;
var pixel_array = new Array();
var y_array = new Array();
for (var i = 0; i <= 100; i++){
var checker = (i+1) % 10;
if(checker == 0){
y_array.push(i);
//create new X array
pixel_array[rowcount] = [];
//push column data into row array
pixel_array[rowcount].push(y_array);
//create new Y array
var y_array = new Array();
//increment row counter
//reset column counter
parseInt(rowcount++);
colcount = 0;
}else{
y_array.push(i);
parseInt(colcount++);
}
}
//sanity check: spit out the matrix
for (var x=0; x<10;x++){
for(var y=0; y<10; y++){
console.log(pixel_array[x][y]);
}
}
}
我本期望调用特定的X/Y“坐标”并从那个“单元格”提取信息。然而,我得到了一个错误,基本上说数组的[Y]部分未定义。
通过查看console.log和console.table - 我可以看到X数组已经填充,但与我期望的不同,它不是另一个数组,只是一串数字列表。
编辑:更具体地说,我的目标是从单个For循环中创建一个2D数组。下面的嵌套for循环是代码示例,展示我希望如何调用“单元格”[X][Y]。