从 Javascript 中的二维数组中获取列

Getting column from two dimensional array in Javascript

本文关键字:获取 二维数组 Javascript      更新时间:2023-09-26

我目前正在尝试制作一个有 2 名玩家的游戏,为了检查字段,我需要检查数组的列而不是行

这是我目前拥有的代码:

    /*    Array containing the playing field 8 x 8 
       C0 C1 C2 C3 C4 C5 C6 C7
    R0[0][0][0][0][0][0][0][0]
    R1[0][0][0][0][0][0][0][0]
    R2[0][0][0][0][0][0][0][0] 
    R3[0][0][0][0][0][0][0][0] 
    R4[0][0][0][0][0][0][0][0]
    R5[0][0][0][0][0][0][0][0] 
    R6[0][0][0][0][0][0][0][0] 
    R7[0][0][0][0][0][0][0][0]
*/
var row0 = [1,2,3,4,5,6,7,8],
    row1 = [0,0,0,0,0,0,0,0],
    row2 = [0,0,0,0,0,0,0,0],
    row3 = [0,0,0,0,0,0,0,0],
    row4 = [0,0,0,0,0,0,0,0],
    row5 = [0,0,0,0,0,0,0,0],
    row6 = [0,0,0,0,0,0,0,0],
    row7 = [0,0,0,0,0,0,0,0];
var field = [row0,row1,row2,row3,row4,row5,row6,row7];
console.log(field[0][0]); // Get the first item in the array

单击一列会发送一个从 1-8(8 列)的数字,这将进入以下功能:

function doeZet(id) {
    // check alle cellen van 8 -> 0
    for (j=7; j>=0; j--) {
        console.log(id)
        console.log(field[j,id-1]);
    }
}

但是,这会返回行 id 而不是 id 中的列,我不确定如何解决这个问题。

您的帮助将不胜感激!

提前致谢

在Gavriel的帮助下编辑解决方案:

    function doeZet(id) {
    // check alle cellen van 8 -> 0
    for (j=7; j>=0; j--) {
        if(field[j][id-1] == 0)
            {
                field[j][id-1] = 1
                console.log(j)
                return j
            }

    }
}

而不是:

console.log(field[j,id-1]);

你需要:

console.log(field[j][id-1]);

字段 [j,id-1] 表示:字段 [x],xhere x 是一个表达式:j,id-1 ,该表达式等于id-1