将对象数组转换为对象对象

时间:2015-12-06 13:05:50

标签: javascript arrays json object mongoose

我有什么:

[{title: hi}, {title: ha}, {title: ho}]

我想要的是什么:

{title: hi}, {title: ha}, {title: ho}

这是因为,当我尝试将数组添加到数据库时,例如:

"$push" : { "paises" : array}

,它将是:

Array of objects

但我想要这个:

Object of objects

3 个答案:

答案 0 :(得分:3)

解决方案:

var array = [{title: 'hi'}, {title: 'ha'}, {title: 'ho'}];

var object = {};

var arrayToObject = function(array, object){
  array.forEach(function(element, index){
    object[index] = element;
  })
  console.log(object);
}

arrayToObject(array, object);

https://jsfiddle.net/2r903tdh/

答案 1 :(得分:0)

{title: hi}, {title: ha}, {title: ho}

这不是对象的对象。这些只是对象。

如果您想要的是逐个处理每个对象并将它们插入数据库的方法,您可以这样做。

[{title: hi}, {title: ha}, {title: ho}].forEach(function(obj){
  //do something with object
});

答案 2 :(得分:0)

如果您使用的是ES6,则可以使用spread运算符。

...[{title: hi}, {title: ha}, {title: ho}] = {title: hi}, {title: ha}, {title: ho}