将JSON对象中的数组转换为javascript中的各个变量

时间:2018-03-21 16:05:14

标签: javascript json

我有一个包含两个数组的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。

感谢任何帮助,谢谢

2 个答案:

答案 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.