我有一个方法需要从提供的id
参数返回用户对象.其他方法将使用此结构,因此不是使用现有结构的简单情况.
基本上我有一个包含type
密钥的数据库,这是过滤的,所以我有一个集合users
.我需要做的是创建一个由用户_id
值键入的对象,并包含带有_id
和type
省略的用户对象.
使用lodash或一些ES6糖我想改变以下内容Array
;
[ { "_id": "0e12e661cb50068a135b36067f001d20", "name": "Joe Bloggs", "type": "user" }, { "_id": "0e12e661cb50068a135b36067f00373f", "name": "Ben Bloggs", "type": "user" } ]
进入下面Object
,用_id
和type
省略;
{ "0e12e661cb50068a135b36067f001d20": { "name": "Joe Bloggs" }, "0e12e661cb50068a135b36067f00373f": { "name": "Ben Bloggs" } }
编辑我需要返回对象而不是名称,因为可以将更多属性添加到这些对象中.
你可以做到这一点reduce()
.
var data = [{
"_id": "0e12e661cb50068a135b36067f001d20",
"name": "Joe Bloggs",
"type": "user"
}, {
"_id": "0e12e661cb50068a135b36067f00373f",
"name": "Ben Bloggs",
"type": "user"
}]
var result = data.reduce(function(r, e) {
r[e._id] = {name: e.name};
return r;
}, {})
console.log(result)