2013-10-17 146 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