【问题标题】:converting an array of objects to a different structure of array of objects将对象数组转换为对象数组的不同结构
【发布时间】:2016-04-19 05:00:51
【问题描述】:

这个怎么转:

var colors = ["#1f77b4", "#ff7f0e","#2ca02c", "#d62728"];

file = 
[ 
{ 
DeviceName: 'DeviceName1',
counter1: '85%',
counter2: '87%',
counter3: '75%',
counter4: '63%' },
{ 
DeviceName: 'DeviceName2',
counter1: '85%',
counter2: '87%',
counter3: '75%',
counter4: '63%' 
} 
]

到这里:

data = [
      {
        key: "counter1",
        color: "#1f77b4",
        values:
          [      
            { x : "DeviceName1", y : '85%' },
            { x : "DeviceName2", y : '87%' }
          ]
      },
      {
        key: "counter2",
        color: "#ff7f0e",
        values:
          [      
            { x : "DeviceName1", y : '85%' },
            { x : "DeviceName2", y : '87%' }
          ]
      },
      {
        key: "counter3",
        color: "#2ca02c",
        values:
          [      
            { x : "DeviceName1", y : '85%' },
            { x : "DeviceName2", y : '87%' }
          ]
      },
      {
        key: "counter4",
        color: "#d62728",
        values:
          [      
            { x : "DeviceName1", y : '85%' },
            { x : "DeviceName2", y : '87%' }
          ]
      }
    ];

所以我基本上希望数组的每个对象中都有 1 个计数器

这是我的入门,还有很长的路要走,但我想知道如何或是否使用 map 或 reduce 来实现这一目标。

file.map(function(item,i){
    return { key: item

        }
    })

【问题讨论】:

  • 继续使用 map()。你的具体问题是什么?听起来您希望有人为您编写此代码

标签: javascript dataset


【解决方案1】:

此代码非常随意,但如果您想要特定的转换,它会为您完成:

https://jsfiddle.net/na2ysko2/

var data = [];
Object.keys(file[0])
  .filter(function(k){ return k !== 'DeviceName' })
  .forEach(function(key,i) {
    data.push({
      key: key,
      color: colors[i],
      values: file.map(function(d) {
        return {
          x: d.DeviceName,
          y: d[key]
        }
      })
    });
  });

这做了很多假设,即数据始终采用您指定的格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 2021-09-24
    • 2022-01-09
    • 2020-04-20
    • 2018-03-10
    • 2021-05-03
    • 2018-12-04
    相关资源
    最近更新 更多