2014-03-12 52 views
0

我嘗試將數組中的每個成員定義爲JavaScript中的對象,然後將它們用作真實對象,因爲我寫下了代碼。如何將數組的成員定義爲對象

var arr = []; 
for (i=0;i<n;i++){ 

arr[nemads[i]] = new stocks(nemads[i],urls[i],""); 

} 
console.log(arr[urls[0]].url +" is : "+arr[urls[0]].myval()); 

但是當我調用對象時,我收到下面的錯誤。

TypeError: 'undefined' is not an object (evaluating 'arr[urls[0]].url') 

我可以使用數組的成員作爲新的對象嗎?

+0

什麼是'nemads'?你有沒有試過'arr [nemads [0]]。url'? –

+2

dafuq是nemads? –

+0

'console.log(nemads [0])'。輸出? – rpax

回答

0

使用array.push()將項添加到數組的末尾。

var sample = new Array(); 
sample.push(new Object()); 
To do this n times use a for loop. 

var n = 100; 
var sample = new Array(); 
for (var i = 0; i < n; i++) 
    sample.push(new Object()); 
+0

如何我以這種方式稱呼對象? – MOB

+0

閱讀此:http://www.quirksmode.org/js/associative.html –

0

我有點困惑你的問題,但這些方針的東西可能是你在找什麼...

for (var i = 0; i < n; i++) 
{ 
    var obj = 
    { 
     nemads : nemads[i], 
     url : url[i], 
     other: '' 
    } 

    arrData.push(obj); 
} 
+0

是調用nemad.open()異步調用?如果是這樣,您可能想要將您的回調代碼移入代碼的「功能(狀態)」部分。 – user3018981

0

,你可以用這樣的方式也。

arr.push({nemads[0], urls[0], ""}); 
arr.push({nemads[1], urls[1], ""}); 
相關問題