Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中从二维数组获取列_Javascript_Arrays - Fatal编程技术网

在Javascript中从二维数组获取列

在Javascript中从二维数组获取列,javascript,arrays,Javascript,Arrays,我目前正在尝试制作一个有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][

我目前正在尝试制作一个有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],x是一个表达式:
j,id-1
,该表达式等于
id-1

传递给doeZet函数的id是什么?字段[j,id-1]相当于字段[id-1],正确的用法应该是字段[j][id-1]。j是doeZet函数中的列id,但我不知道你想得到什么。你能给这个问题添加一个例子吗?我想知道是否有一个1或2放在那里(如果条件==0),这场比赛被称为四连胜,但有两名玩家对战。如果有编号,我希望循环执行以下操作:转到id中的下一行,在下一行中放置正确的玩家编号(它将作为参数获得),然后返回列编号和行号。请编辑问题,并在底部添加所需的解释。注意:您的评论仍然不清楚,这就是为什么我要求提供一个示例,例如:“在字段中有上述值,当我调用doeZet(4)时,我希望返回X。”但是请注意,您的矩阵中充满了0-s,为了让我们能够理解你想要的东西,添加一些其他的值可能是明智的。我刚刚认为for循环可能不是我所需要的,你对我如何实现我在原始帖子上的评论有什么建议吗?