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

我想写点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 ? 提前致谢。

这是Array.reduce的典型任务。 查看MDN上的文档以了解更多信息。

以下是它如何适用于您的问题:

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

简而言之:

  1. 它以空对象{}为起点
  2. 它从数组( valuevariables)分配每个对象到一个起点( memovariables)
  3. 最后还有一个由数组组成的对象

在这里输入图像说明

有了ES6,你可以使用解构

 let arr = [ { water: 8.12 }, { temp: 22.05 }, { humid: 60.04 } ], [{water}, {temp}, {humid}] = arr, obj = {water, temp, humid}; console.log(obj);