Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript将json数据转换为其他格式_Javascript - Fatal编程技术网

使用javascript将json数据转换为其他格式

使用javascript将json数据转换为其他格式,javascript,Javascript,我的基本数据如下 [{ month: 'Jan', cat: A, val: 20 },{ month: 'Jan', cat: B, val: 5 },{ month: 'Jan', cat: C, val: 10 },{ month: 'Feb', cat: A, val: 30 },{ month: 'Feb', cat: B, val: 10 },{ month

我的基本数据如下

[{
    month: 'Jan',
    cat: A,
    val: 20
},{
    month: 'Jan',
    cat: B,
    val: 5
},{
    month: 'Jan',
    cat: C,
    val: 10
},{
    month: 'Feb',
    cat: A,
    val: 30
},{
    month: 'Feb',
    cat: B,
    val: 10
},{
    month: 'Feb',
    cat: C,
    val: 20
}]
我需要使用javascript将其转换为以下内容

[{
    month: 'Jan',
    A: 20,
    B: 5,
    C: 10
}, {
    month: 'Feb',
    A: 30,
    B: 10,
    C: 20
}]
如果基础数据只有cat和val

我本可以试试像

data[e.cat] = e.val;
但是按月分组让我。。 衷心感谢您的帮助。

此计划书的特色是针对月份组的对象

创建的对象没有任何原型或属性,它实际上是一个空对象。如果哈希具有非空对象的属性值,则可能需要这样做

var数组=[{month:'Jan',cat:'A',val:20},{month:'Jan',cat:'B',val:5},{month:'Jan',cat:'C',val:10},{month:'Feb',cat:'A',val:30},{month:'Feb',val:10},{month:'Feb',cat:'C',val:20},
分组=[];
array.forEach(函数(a){
如果(!本[a.月]){
此[a.month]={month:a.month};
分组推送(本月);
}
这个[一个月][a.cat]=(这个[一个月][a.cat]| | 0)+a.val;
},Object.create(null));

document.write(“”+JSON.stringify(分组,0,4)+“”)你在这方面付出了什么努力?您遇到的具体问题是什么?这个问题更像是“为我解决我的问题”。您是否愿意解释
对象。创建(空)
部分?@mplungjan,请参阅编辑。