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

Posted

技术标签:

【中文标题】将对象数组转换为对象对象【英文标题】:Convert array of objects to object of objects 【发布时间】:2016-03-11 02:54:16 【问题描述】:

我有什么:

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

我想要什么:

title: hi, title: ha, title: ho

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

"$push" :  "paises" : array

,它将是:

Array of objects

但我想要这个:

Object of objects

【问题讨论】:

不确定你在这里要求什么,你的“我想要的”是一个对象数组。 当然,我需要'销毁'数组'[title:hi,title:ha,title:ho]',否则我将有两个对象数组. 【参考方案1】:

如果你使用 ES6,你可以使用spread 操作符。

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

【讨论】:

【参考方案2】:
title: hi, title: ha, title: ho

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

如果您想要的是一种逐个处理每个对象并将它们插入数据库的方法,您可以执行以下操作。

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

【讨论】:

是的,我想过,但是是否可以更新一次数据库,而不是每个对象更新 n 次? 你是如何插入它们的? db.paises.insert() ? 只需使用 "$push" : "paises" : array【参考方案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/

【讨论】:

以上是关于将对象数组转换为对象对象的主要内容,如果未能解决你的问题,请参考以下文章

将对象数组转换为另一个对象数组

将平面对象数组转换为嵌套对象数组[重复]

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

将每个具有一个对象的 JSON 对象数组转换为 JSON 对象数组 [关闭]

laravel怎么把对象转换为数组

如何将对象数组转换为模型对象数组