将javascript对象映射到数组结构

时间:2017-10-18 15:55:36

标签: javascript arrays

我有一个这样的对象:

{"label":["Option 1","Option 2","Option 3"],"share":[0.0650068849312104,0.00873977167120444,0.00873977167120444]}

我需要将其转换为如下所示的数组:

[{label: "Option 1", share: 0.0650068849312104}, {label: "Option 2", share: 0.00873977167120444}, {label: "Option 3", share: 0.00873977167120444}]

换句话说,它需要是与数据点数量相同长度的对象数组。

我对javascript很新,所以如果这是一个糟糕的问题我会道歉。我还没有在其他地方找到一个令人满意的理由。我需要使用像object.keys()这样的东西吗?如果是这样,我该如何使用它?我不清楚如何将其转换为数组并将其映射到此结构中。

感谢任何和所有帮助!

编辑:删除对JSON的引用

1 个答案:

答案 0 :(得分:3)

 const result = obj.label.map( (label,index) => ({label, share:obj.share[index]}) );

其中 obj 是你问题的第一个代码行(或指向它的引用),那么结果将是第二个代码行。