オブジェクトが同じ値を持っている理由がわかりません。毎回新しいオブジェクトを作成していると思います。
for (i = row; i <= y; i++) {
if (t !== 0 && $('#' + i + '' + col).css('background-color') == 'rgb(0, 0, 0)') {
console.clear(); //testing
var obj = {
rows: i,
cols: col
};
vblack.push(obj);
vred.length = 0;
//testing purposes only, printing contents of vblack array
for (var j = 0; j < vblack.length; j++) {
console.log("j " + j + " rows " + obj.rows + " col " + obj.cols);
};
} else if (t === 0 && $('#' + i + '' + col).css('background-color') == 'rgb(255, 0, 0)') {
var obj = {
rows: i,
cols: col
};
vred.push(obj);
vblack.length = 0;
}
}
これをコンソールログに出力します
j 0 rows 7 col 7
j 1 rows 7 col 7
j 2 rows 7 col 7
j 3 rows 7 col 7
私が印刷することを期待しているのは、行 4 列 7 行 5 列 7 行 6 列 7 行 7 列 7 です。
背景色に応じてテーブルの x 座標と y 座標を記録しようとしています。赤が黒の間にある場合は、vblack 配列を 0 に戻します。