2017-04-11 82 views
1

我正在適應D3餅圖我自己的工作,並希望動態重新創建下面的數據結構。動態生成對象數組 - Javascript

var data = [ 
{"label":"Colorectale levermetastase (n=336)", "value":74}, 
{"label": "Primaire maligne levertumor (n=56)", "value":12}, 
{"label":"Levensmetatase van andere origine (n=32)", "value":7}, 
{"label":"Beningne levertumor (n=34)", "value":7}]; 

我已經試過

data += {"label": cat_row, "value": +freq_row}; 

,但它並沒有取得理想的結果。推也沒做。

data["label"] = cat_row; 

上面的行似乎覆蓋了每個迭代。

任何指導將不勝感激。

+0

「也推不動「你能展示你想要的東西嗎? – evolutionxbox

回答

0

你想將數據添加到您的陣列或你想更換數據數組的結束?

將數據添加到陣列中使用:

data.push({"label": cat_row, "value": +freq_row}) 

到數組中替換數據:

var index = 0; 
data[index] = {"label": cat_row, "value": +freq_row}; 
+0

我想推到陣列的盡頭,謝謝你的迴應! 因爲有多種解決方案,我實際上已將其標記爲答案。 –

0

推也沒有做什麼。

你是幾乎沒有,需要如果你想你需要使用Array#push()數組來推動這樣

var data = []; 
data.push({"label": cat_row, "value": freq_row }); 
+0

這是完美的,謝謝! –

0

。這將在參數中添加元素

var data = []; 
data.push({label:"test"}); 
+0

絕對太棒了,謝謝! –

2

有幾種方法可以動態地重新創建數據結構。

要將新元素添加到數組的末尾:

data.push({"label": cat_row, "value": +freq_row}); 

data[data.length] = {"label": cat_row, "value": +freq_row}; 

要將新元素添加到數組的開始:

data.unshift({"label": cat_row, "value": +freq_row}));