2017-04-11 86 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}));