2013-06-25 28 views
-1

我有一個2維數組albumPhotos[x][y]。行是photoalbums,列是links to photos如何獲取JavaScript中2維數組的列數?

現在每個photoalbum具有不同數量的photos,這意味着,這個陣列中的每個row具有不同數量的columns

我想檢查這個數組中每一行的長度是多少,這意味着每行有多少列。我怎麼能在JavaScript中做到這一點?

我想:

for(var i=0; i< numberOfRows ; i++) 
    for(var x=0; x < albumPhotos[i].length; x++) ... 

但顯然這是在JavaScript錯誤的命令。然後我嘗試這樣的事情:

for(var i=0; i< numberOfRows ; i++) 
    for(var x=0; x < albumPhotos.rows[i].cells.length; x++) 

但它似乎又錯了。我認爲這是爲html表而不是數組。

任何想法?

+0

爲什麼不在你的外循環的每次迭代中添加'albumPhotos [i] .length'到一個變量? – Bojangles

+0

我看不出如何解決這個問題..當我在for循環中使用它時會得到一個錯誤。如果我在它之前使用了一個變量,它會改變嗎?這是正確的語法嗎? –

+0

Uncaught TypeError:無法讀取未定義的屬性「長度」 –

回答

2

你只需要檢查當前行的.length

var numberOfRows = albumPhotos.length; 

for(var i=0; i < numberOfRows ; i++) 
    console.log(albumPhotos[i].length); 

而且你是正確的,第二個例子是表元素,而不是數組。

+0

專輯照片是一個2維陣列,專輯照片[x] [y]。每一行都是一張專輯,這一行的每一列都是一張照片的鏈接。所以我的問題是如何計算每行,2維陣列的長度(例如列數)。 –

+0

@JohnyJaz:對。這就是這樣做的。除非你說你有陣列,而你真的有對象。您尚未提供數據樣本,因此我們完全依賴您的描述。 –