2015-05-05 27 views
1

我試圖從API推數據到對象的數組..推JSON數據作爲單獨的對象不是一個多頭排列

我想

myFXdata {[ccypair], [resistance], [support], [trend.src]}, 
     {[ccypair], [resistance], [support], [trend.src]}, 
     {[ccypair], [resistance], [support], [trend.src]}, 
     {[ccypair], [resistance], ...etc}, 

,但我得到

myFXdata {[ccypair], [resistance], [support], [trend.src], 
     [ccypair], [resistance], [support], [trend.src], 
     [ccypair], [resistance], [support], [trend.src], 
     [ccypair], [resistance], ...etc} 

我的代碼是

var myFXdata = []; 

for (var i = 0; i < collection.length; i++){ 

    myFXData.push((collection[i].ccyPair), (collection[i].resistance), (collection[i].support), (collection[i].trend.src)); 
     } 

    console.log(dailyfxTech) 

我想我需要推入每一次一個新的對象,但

 myFXData.push({collection[i].ccyPair}); 

給出了錯誤

SyntaxError: Unexpected token '['. Expected a ':' following the property name 'collection'. 

任何想法? Muchas謝謝。

+1

請問您可以在jsfiddle中提供您的數據演示嗎? – daremachine

回答

1

你說你想要的輸出僅僅是不可能的,因爲它不是一個有效的JS對象:

{[ccypair], [resistance], [support], [trend.src]} 

什麼是片斷告訴我的是,你要使用的對象,其中的陣列,以結束每個對象包含4個屬性,它們沒有任何鍵,並且這些屬性是數組。這只是沒有多大意義,和密鑰都需要對象JS

您的片段或許應該看起來像

{'pair': ccypair, 'resistance': resistance, 'support': support, 'src': trend.src} 

如果數組是罰款,你的情況,你也可以這樣做:

[ccypair, resistance, support, trend.src] 

根據您選擇的格式,它應該是很容易將它們推送到您的陣列

myFXData.push({ 
    pair: collection[i].ccyPair, 
    collection: collection[i].resistance, 
    support: collection[i].support, 
    src: collection[i].trend.src 
}); 

myFXData.push([ 
    collection[i].ccyPair, 
    collection[i].resistance, 
    collection[i].support, 
    collection[i].trend.src 
]); 

所以在第一種情況下,你將最終對象的數組,而在第二種情況下,你會得到一個數組的數組,或二維數組將被調用。

我希望這一切都有道理。隨意問,如果沒有。

+0

太棒了,謝謝。我讓自己陷入了對象和數組的束縛之中,但你的第一個案例正是我想要的。再次感謝。 –

相關問題