2011-08-01 42 views
1

我有我以前的對象的長度,我需要建立基於與新的密鑰的長度對象的新陣列。創建對象的動態數組基於長度

Length = 3; 

var newArray = []; 
for(var i =0; i <3; i++){ 
    var Object = {}; 
    Object['newKey'] = 1; 
    newArray.push(Object); 
} 

這最終將創建對象的newArray,其長度含有這樣的3 .. newArray[0],[1],[2]

我這樣做正確,請不要認爲我如果有什麼錯誤或更好的方法來做到這一點。

+0

好吧,我看到一些問題/方式,它可以改進...... –

+0

@Jared Farrish:你會建議我在這個 –

+0

嗯,首先,當你說'{}',您要創建對象,所以step/line是多餘的。 –

回答

1

這裏是你寫的東西(我認爲),只是縮短了一點(和固定變量名的大小寫)

var length = 3; 
var newArray = []; 
for(var i = 0 ; i < length ; i++) { 
    newArray.push({newKey: 1}); 
} 

但說實話這是我不清楚你要完成

什麼
0

你可以把它稍微動通過引用的長度可變。

實例每評論更新:

var length = 3, 
    newArray = []; 

for (var i=0; i<length; i++) { 
    var tempObj = {}; 
    tempObj['newKey'] = 'SomeValue'; 
    newArray.push(tempObj); 
} 

我真的沒有做更多的清理你有什麼。

+1

對象通過引用傳遞,所以這會將相同的對象放在數組的每個索引中。我不認爲這是OP想要的。你應該把'tempObj = {};'放在循環中。 – mVChr

+0

將無法​​正常工作。您只創建1個對象,然後在該數組中多次引用該對象(編輯:mVChr擊敗我) – Flambino