Javascript 从JSON获取D3.js的数据

Javascript 从JSON获取D3.js的数据,javascript,json,d3.js,Javascript,Json,D3.js,我以以下形式从服务器接收数据: jsonData = [{vid: "General uneven corrosion", ver: "95"}, {vid: "General uneven corrosion", ver: "95"}, {vid: "General uneven corrosion", ver: "80"}, {vid: "General

我以以下形式从服务器接收数据:

jsonData = [{vid: "General uneven corrosion", ver: "95"}, 
 {vid: "General uneven corrosion", ver: "95"},
 {vid: "General uneven corrosion", ver: "80"},
 {vid: "General uneven corrosion", ver: "80"},
 {vid: "General uneven corrosion", ver: "60"},
 {vid: "General uneven corrosion", ver: "20"},
 {vid: "General uneven corrosion", ver: "20"},
 {vid: "Increase in strength characteristics", ver: "80"},
 {vid: "Increase in strength characteristics", ver: "40"},
 {vid: "Increase in strength characteristics", ver: "40"},
 {vid: "Increase in hardness", ver: "95"},
 {vid: "Increase in hardness", ver: "60"}
 {vid: "Increase in hardness", ver: "40"},
 {vid: "Decreased ductility", ver: "60"},
 {vid: "Decreased ductility", ver: "60"},
 {vid: "Decreased ductility", ver: "60"},
 {vid: "Decreased ductility", ver: "60"},
 {vid: "Decreased ductility", ver: "40"},
 {vid: "Decreased ductility", ver: "40"},
 {vid: "Decreased ductility", ver: "20"}]
对于图形,我需要将数据转换为以下形式:

    var data = [
  {
    state: 'General uneven corrosion',
    stats: [95,95,80,80,60,20,20]
  },
  {
    state: 'Increase in strength characteristics',
    stats: [80,40,40]
  },
  {
    state: 'Increase in hardness',
    stats: [95,60,40]
  },
  {
    state: 'Decreased ductility',
    stats: [60,60,60,60,40,40,20]
  }]
我过滤了接收到的数据:

var fltrd = []
                       
                       
fltrd.push(jsonData.filter(item => item.vid.includes(jsonData[0].vid)))   

for (let j=0; j < jsonData.length; j++) {
                            
 if (j > 0 && j < jsonData.length && jsonData[j - 1].vid !== jsonData[j].vid) {
     fltrd.push(jsonData.filter(item => item.vid.includes(jsonData[j].vid)))} 
}
console.log (fltrd)
请帮我把表格填好。也许我走错了方向,最好使用D3方法?我没有什么经验,请帮忙。谢谢

您可能正在寻找:

jsonData=[
{见:“一般不均匀腐蚀”,版本:“95”},
{见:“一般不均匀腐蚀”,版本:“95”},
{见:“一般不均匀腐蚀”,版本:“80”},
{见:“一般不均匀腐蚀”,版本:“80”},
{见:“一般不均匀腐蚀”,版本:“60”},
{见:“一般不均匀腐蚀”,版本:“20”},
{见:“一般不均匀腐蚀”,版本:“20”},
{vid:“力量特征增加”,版本:“80”},
{vid:“力量特征增加”,版本:“40”},
{vid:“力量特征增加”,版本:“40”},
{见:“硬度增加”,版本:“95”},
{见:“硬度增加”,版本:“60”},
{见:“硬度增加”,版本:“40”},
{vid:“延性降低”,版本:“60”},
{vid:“延性降低”,版本:“60”},
{vid:“延性降低”,版本:“60”},
{vid:“延性降低”,版本:“60”},
{vid:“延性降低”,版本:“40”},
{vid:“延性降低”,版本:“40”},
{vid:“延性降低”,版本:“20”}
];
设grouped=d3.group(jsonData,d=>d.vid);
设fltrd=Array.from(分组,([k,v])=>{
返回{
“国家”:k,
“统计”:v.map(d=>+d.ver)
}
});
控制台日志(外研社)
[[{vid: "General uneven corrosion", ver: "95"}, 
  {vid: "General uneven corrosion", ver: "95"},
  {vid: "General uneven corrosion", ver: "80"},
  {vid: "General uneven corrosion", ver: "80"},
  {vid: "General uneven corrosion", ver: "60"},
  {vid: "General uneven corrosion", ver: "20"},
  {vid: "General uneven corrosion", ver: "20"}], 
 [{vid: "Increase in strength characteristics", ver: "80"},
  {vid: "Increase in strength characteristics", ver: "40"},
  {vid: "Increase in strength characteristics", ver: "40"}],
 [{vid: "Increase in hardness", ver: "95"},
  {vid: "Increase in hardness", ver: "60"}
  {vid: "Increase in hardness", ver: "40"}],
 [{vid: "Decreased ductility", ver: "60"},
  {vid: "Decreased ductility", ver: "60"},
  {vid: "Decreased ductility", ver: "60"},
  {vid: "Decreased ductility", ver: "60"},
  {vid: "Decreased ductility", ver: "40"},
  {vid: "Decreased ductility", ver: "40"},
  {vid: "Decreased ductility", ver: "20"}]]