2013-10-17 148 views
3

的内部我有一个数组Javascript数组另一个阵列(多维)

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]]]; 

是可以通过电池阵列变量来引发阵列? 想不出来?!

回答

6

可以使用slice得到一个阵列的一部分,例如

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

呼叫cells.slice(0, 3)返回一个阵列的cells从索引0开始直到不含3元素和,即[cells[0], cells[1], cells[2]]。您可以通过“手动”来包装另一个数组以获得所需的结果。

+0

非常棒))这是我需要的。 只有一点是左侧)) 我还需要chekUp到对角线)) 细胞[0] +细胞[4] +细胞[8] 细胞[2] +细胞[4] +细胞[6] – A1exandr

+0

@ A1exandr:除非您手动输出,否则这将无法使用单线程。 – Jon