【问题标题】:How to change object structure into array structure for highcharts如何将对象结构更改为高图的数组结构
【发布时间】:2018-08-16 12:06:53
【问题描述】:

我想改变这个对象结构

     [
        {
            "tahun": "2010",
            "apel": 100,
            "pisang": 200,
            "anggur": 300,
            "nanas": 400,
            "melon": 500
        },
        {
            "tahun": "2011",
            "apel": 145,
            "pisang": 167,
            "anggur": 210,
            "nanas": 110,
            "melon": 78
        }
     [

进入我在 Django 中的 highchart 的这个数组结构,

[
 ["2010",100],
 ["2010",200],
 ["2010",300],
 ["2010",400],
 ["2010",500],
 ["2011",145],
 ["2011",167],
 ["2011",210],
 ["2011",110],
 ["2011",78]
]

或者如果你有任何像使用 AJAX 这样的方法会很有帮助

【问题讨论】:

  • 代码在哪里?
  • 你是什么意思??有代码...
  • 如果您尝试过一些东西,并且如果您知道JSON ...,那就太好了

标签: javascript ajax django highcharts


【解决方案1】:

如果您想将您的字典列表转换为服务器端的列表列表,您可以这样做:

>>> data = [{'tahun': '2010', 'apel': 100, 'pisang': 200, 'anggur': 300, 'nanas': 400, 'melon': 500}, {'tahun': '2011', 'apel': 145, 'pisang': 167, 'anggur': 210, 'nanas': 110, 'melon': 78}]
>>> [[x['tahun'], x['apel']] for x in data]
[['2010', 100], ['2011', 145]]

【讨论】:

    【解决方案2】:

    您可以通过以下方式将原始结构简化为您需要的结构:

    const data = [
      {
          "tahun": "2010",
          "apel": 100,
          "pisang": 200,
          "anggur": 300,
          "nanas": 400,
          "melon": 500
      },
      {
          "tahun": "2011",
          "apel": 145,
          "pisang": 167,
          "anggur": 210,
          "nanas": 110,
          "melon": 78
      }
    ];
    
    const result = data.reduce((prev, curr) => {
      const year = curr.tahun;
      delete curr.tahun;
      return [...prev, ...Object.keys(curr).map(key => [year, curr[key]])];
    }, []);
    

    不是最漂亮的,但嘿,它有效。

    【讨论】:

      猜你喜欢
      • 2019-01-07
      • 2023-03-24
      • 2023-02-04
      • 1970-01-01
      • 2021-12-11
      • 2021-12-14
      • 2015-02-04
      • 1970-01-01
      • 2020-12-18
      相关资源
      最近更新 更多