动态生成对象数组 - Javascript

时间:2017-04-11 09:28:02

标签: javascript d3.js

我正在调整D3饼图到我自己的工作,并希望动态地重新创建下面的数据结构。

    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;

上面的一行似乎覆盖了每次迭代。

非常感谢任何指导。

4 个答案:

答案 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}));

答案 1 :(得分:0)

  

同时推动什么也没做。

你几乎就在那里,需要这样推动

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

答案 2 :(得分:0)

如果您需要阵列,则需要使用Array#push()。这会将参数中的元素添加到数组的末尾

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

答案 3 :(得分:0)

是否要将数据添加到阵列或者是否要替换数据?

将数据添加到数组使用:

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

替换数组中的数据:

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