繁体   English   中英

动态生成对象数组-Javascript

[英]Dynamically generate array of objects - Javascript

我正在将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;

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

任何指导将不胜感激。

有几种方法可以动态地重新创建数据结构。

要将新元素添加到数组的末尾:

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

同时推动也无济于事。

您快到了,需要用这种方式推动

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

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

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

您要向阵列添加数据还是要替换数据?

向数组添加数据使用:

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

替换数组中的数据:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM