2012-09-07 18 views
0

我試圖用自動增量(listeFormatte.lenght)填充我的數組,並且它在行listeFormatte[listeFormatte.length][0] = cartArray[i][0];中斷,並且給出無法轉換未定義的對象錯誤。Jquery multidimensionnal array:不能轉換未定義的對象

cartArray[i][0] = "ensemble" 

listeFormatte = "" (new array) 

listeFormatte.length = 0 

在此先感謝。

var listeFormatte = new Array; 

for(var i=0;i<cartArray.length;i++) 
{ 
    if(cartArray[i][0] == "ensemble") 
    { 
     listeFormatte[listeFormatte.length] = []; 
     listeFormatte[listeFormatte.length][0] = cartArray[i][0]; 
    } 
} 

編輯:什麼是ImageMagick的變頻它無關,與我在做什麼,你爲什麼會編輯我的事情這樣的東西?

回答:那麼當listeFormatte [listeFormatte.length] = [];創建多維數組,它會引發listeFormatte.lenght,從而導致在「第二次使用」上未定義,因爲它現在是:listeFormatte [1]而不是[0]。所以我添加了一個獲取listeFormatte.length的變量。

+0

它給出了同樣的錯誤,而不listeFormatte [listeFormatte.length] = []; – Lamonde

+0

我使用的listeFormatte [listeFormatte.length]推也試過,得到了相同的錯誤 – Lamonde

回答

0

你以前的listeFormatte[listeFormatte.length] = [];結構考慮 listeFormatte[listeFormatte.length] = new Array;

我從來沒有見過,沒有這樣的事情你listeFormatte[listeFormatte.length]沒有被定義爲數組,這樣你就不能使用[0]指標。

+0

是的,我試了一下,確實一模一樣。很確定= []只是從jquery中說出來的另一種方式 – Lamonde

+0

我剛剛意識到問題所在: 在這行後面'listeFormatte [listeFormatte.length] = [];'執行你認爲'listeFormatte .length'? –

+0

哦,這是它。謝謝您的幫助!從我沒有看到這一點是愚蠢的。 – Lamonde