将对象数组转换为对象对象
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/
【讨论】:
以上是关于将对象数组转换为对象对象的主要内容,如果未能解决你的问题,请参考以下文章