微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在JSON Javascript中引用同级元素?

如何解决如何在JSON Javascript中引用同级元素?

我有一个用于图表的json对象,如下所示:

{
  "results": [
    {
      "dataSets": {
        "One": {
          "label": "testLabel","labels": "test","data": [
            "10","58"
          ]
        }
      },"chart": [
        {
          "key": "test","label": "chart-1","chartType": "bar","order": "1","dataSets": [
            {
              "style": "line","key": "One"
            },]
        }
      ]
    }
  ]
}

我想获取dataSets的{​​{1中的label的{​​{1}},labelsdata之类的one值}},方法是提供“ chart”作为关键字。

是否可以使用javascript或vue?

解决方法

是的,有可能。但是您将需要进行一系列Array.map()的操作。

const results = [{
  dataSets: {
    One: {
      label: "testLabel",labels: "test",data: ["10","58"]
    }
  },chart: [{
    key: "test",label: "chart-1",chartType: "bar",order: "1",dataSets: [{
      style: "line",key: "One"
    }]
  }]
}];

const modifiedResult = results.map(result => {
  const outerDataSets = result.dataSets;
  result.chart = result.chart.map(chart =>
    chart.dataSets.map(innerDataSet => ({
      ...innerDataSet,...outerDataSets[innerDataSet.key]
    }))
  );
  return result;
});

console.log(modifiedResult);

此外,如果您使用的是Vue,我认为最好将result的修改内容放在计算机上,以便它总是尝试将这些dataSets附加数据添加到图表的数据集中。

Here a sample demo for implementation in Vue

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。