二次元データを一次元配列で扱う際のインデックスの計算方法
一次元配列を二次元配列に見立てて扱うためには横幅×行位置+列位置だと言われましたがよくわからないです。
以下コードです。
var SIDE_CELLS = 5;//横幅
var COLUMN_CELLS = 3;//縦幅
var ci = new Array(SIDE_CELLS * COLUMN_CELLS);
var row = '';
for(var z=0;z<ci.length;++z){
ci[z]=z+1;
row = row + (ci[z]<10 ? ' ' : ' ') + ci[z];
}
console.log(row);
for(var y=0;y<COLUMN_CELLS;++y){
row = '';
for(var x=0;x<SIDE_CELLS;++x){
var z = y*SIDE_CELLS+x;
row = row + (ci[z]<10 ? ' ' : ' ') + ci[z];
}
console.log(row);
}
このコード var z = y*SIDE_CELLS+x;
が二次元配列らしいのですが
私は頭が弱いのでよくわかりません
図のようにして考えてみようとおもってもイメージがまったく掴めません
もう2日も考えているのですがどうか助けてください。