Javascript - 重组对象数组

标签 javascript arrays object d3.js formatting

我目前有一个如下所示的对象数组:

[
    {
        "key":"CES0000000001",
        "25568.95655":"29923",
        "25568.96078":"31603"
    },
    {
        "key":"CES0000000001",
        "25568.96501":"34480",
        "25568.96924":"38347"
    }
]

我正在尝试找出将这些数据重组为如下所示的最佳方法:

[
    {
        "key":"CES0000000002",
        "values": [ [ 25568.95655 , 29923 ] , [ 25568.96078 , 31603 ] ]
    },

    {
        "key":"CES0000000002",
        "values": [ [ 25568.96501 , 34480 ] , [ 25568.96924 , 38347 ] ]
    }
]

任何人都可以为此提供一些建议以及重组 javascript 对象的任何好的资源吗?我正在更多地使用 d3.js 进行可视化,数据格式是关键。

最佳答案

我的解决方案是

    var arr= [
    {
        "key":"CES0000000001",
        "25568.95655":"29923",
        "25568.96078":"31603"
    },
    {
        "25568.96501":"34480",
        "25568.96924":"38347"
    }
];

var transformed= arr.map(function(obj){
    var result= {
        key: obj.key,
        values: []
    }

    for (var key in obj) {
      if (obj.hasOwnProperty(key) && key !== "key") {
          result.values.push([key, obj[key]]);
      }
    }
    return result;
});

console.log(transformed);

关于Javascript - 重组对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26620083/

相关文章:

javascript - 在其他函数中仅执行一次函数

javascript - 为什么我的正则表达式忽略字符串的开头和结尾?

javascript - 将数据转换为数组数组

ios - 不能分配给任何对象类型的不可变表达式

javascript - python : How to count all objects in an array that match a condition?

c++ - 在其他类中使用多个类

javascript - NodeJS 双否定三元运算符

javascript - 如何使用 JavaScript 交换表格中的图像位置?

javascript - 在事先不知道键的情况下将项目推送到对象中的数组

arrays - Matlab 将向量转换为二进制矩阵