JavaScript中的一个数组包含另一个数组(多维数组)

3

我有一个数组

cells = [0, 0, 0, 0, 0, 0, 0, 0, 0];

这是一个使用jQuery函数更新的内容。

 $(document).ready(function(){
...
    $('#box').click(function(e){

        var indexArray = e.target.id.split('_');

        if (indexArray.length > 1) {
            var index = indexArray[1];

            if (cells[index] == 0){
                cells[index] = move;
...
})

我想对单元格数组组进行交叉检查。 例如:

(cells[0] + cells[1] + cells[2]);   // row 1
(cells[3] + cells[4] + cells[5]);   // row 2
(cells[6] + cells[7] + cells[8]);   // row 3
...

我尝试创建一个多维数组,但是我得到的结果都是未定义的:

var triggers = [[cells[0], cells[1], cells[2]]];

有没有可能将单元格数组变量传递给触发器数组? 弄不清楚?!
1个回答

6

您可以使用slice方法来获取数组的一部分,例如:

var triggers = [cells.slice(0, 3)];

调用 cells.slice(0, 3) 返回一个数组,其中包含从索引 0 开始到 3(不包括 3)的 cells 的元素,即 [cells[0], cells[1], cells[2]]。您可以手动将另一个数组包装在其上以获得所需的结果。

太棒了)) 这正是我需要的。 只剩下一件事))我还需要检查对角线))cells[0] + cells[4] + cells[8] cells[2] + cells[4] + cells[6] - Coderbit
@A1exandr:除非你手动编写,否则无法用一行代码实现。 - Jon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接