我有一个包含两个数组的JSON对象。我想将这些数组元素转换为JSON对象中的单个元素 我需要这个用于在javascript中输入D3函数。
我的对象现在:
{
0:{
start:"2016-01-01",
values:[10,11,12],
names:["a","b","c"]
},
1:{
start:"2016-01-02",
values:[25,23,50],
names:["a","b","c"]
}
}
转换对象:
{
0:{
start:"2016-01-01",
a:10,
b:11,
c:12
},
1:{
start:"2016-01-02",
a:25,
b:23,
c:50
}
}
变量的数量可以变化。它不会总是3。
感谢任何帮助,谢谢
答案 0 :(得分:0)
我知道这不是最好的,但这是达到你想要的方式之一。
{{1}}
答案 1 :(得分:0)
var array = {
0:{
start:"2016-01-01",
values:[10,11,12],
names:["a","b","c"]
},
1:{
start:"2016-01-02",
values:[25,23,50],
names:["x","y","z"]
}
}
convertArrayProp = ( newObject ) => {
Object.keys( array ).map( ( key ) => {
newObject[key] = {};
newObject[key]['start'] = array[key]['start'];
array[key]['names'].map( ( name, index ) => newObject[key][name] = array[key]['values'][index]);
});
return newObject;
}
console.log(convertArrayProp({}));

A simple solution to your case. I hope that helps you.