一次元配列を二次元配列に見立てて扱うためには横幅×行位置+列位置だと言われましたがよくわからないです。
以下コードです。

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日も考えているのですがどうか助けてください。