[英]Change JSON to following format in JS
How do I change JSON of following format in javascript如何在javascript中更改以下格式的JSON
data = [{acquired: "2018-03-09T22:49:52.935Z", mean_ndvi: -0.0483685}
{acquired: "2018-02-13T22:49:16.568Z", mean_ndvi: 0.00595065}
{acquired: "2018-04-01T22:50:30.912Z", mean_ndvi: -0.033455}]
to exactly准确地
data = {"2018-03-09T22:49:52.935Z":-0.0483685, "2018-02-13T22:49:16.568Z": 0.00595065, "2018-04-01T22:50:30.912Z": -0.033455}
My attempt.我的尝试。
var json =data; var obj2 ={}; var obj3 =[];
for(var i = 0; i < json.length; i++)
{ var obj = json[i];
obj2 = {[obj.acquired]:obj.mean_ndvi};
obj3.push(obj2); }
console.log(obj3);
I'm able to get it in the following format.我能够以以下格式获取它。
{2018-04-01T22:50:30.912Z: -0.033455},
{2018-04-01T22:50:30.912Z: -0.033455},
{2018-04-01T22:50:30.912Z: -0.033455}
Please check what changes can be made to get the result in one row.请检查可以进行哪些更改以在一行中获得结果。
You can use reduce()
as follows (with some destructuring and spreading mixed in):您可以使用reduce()
如下(混合了一些解构和传播):
data.reduce((a, {acquired, mean_ndvi}) => ({[acquired]: mean_ndvi, ...a}), {});
Full snippet:完整片段:
const data = [ {acquired: "2018-03-09T22:49:52.935Z", mean_ndvi: -0.0483685}, {acquired: "2018-02-13T22:49:16.568Z", mean_ndvi: 0.00595065}, {acquired: "2018-04-01T22:50:30.912Z", mean_ndvi: -0.033455} ]; const result = data.reduce((a, {acquired, mean_ndvi}) => ({[acquired]: mean_ndvi, ...a}), {}); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.