NodeJs:将对象数组转换为大对象

时间:2017-05-06 12:51:38

标签: node.js influxdb

我想给InfluxDB写点数。请参阅https://docs.influxdata.com/influxdb/v1.2/introduction/

该点的字段是对象数组:

[ { water: 8.12 }, { temp: 22.05 }, { humid: 60.04 } ]

如何将此数组转换为格式为

的对象
 { water: 8.12 ,  temp: 22.05 ,  humid: 60.04 } 

根据此包https://github.com/vicanso/influxdb-nodejs的要求?提前谢谢。

2 个答案:

答案 0 :(得分:1)

这是Array.reduce的典型任务。查看docs on MDN了解详情。

以下是如何将其应用于您的问题:

const data = [ { water: 8.12 }, { temp: 22.05 }, { humid: 60.04 } ];
const obj = data.reduce((memo, value) => Object.assign(memo, value), {});

简而言之:

  1. 以空对象{}为起点
  2. 它将数组(value变量)中的每个对象分配给起点(memo变量)
  3. 最后有一个由数组
  4. 组成的对象

    enter image description here

答案 1 :(得分:0)

使用ES6,您可以使用解构

pip3 install packagename