当前位置:  开发笔记 > 编程语言 > 正文

Javascript创建一个对象,由数组值键入

如何解决《Javascript创建一个对象,由数组值键入》经验,为你挑选了1个好方法。

我有一个方法需要从提供的id参数返回用户对象.其他方法将使用此结构,因此不是使用现有结构的简单情况.

基本上我有一个包含type密钥的数据库,这是过滤的,所以我有一个集合users.我需要做的是创建一个由用户_id值键入的对象,并包含带有_idtype省略的用户对象.

使用lodash或一些ES6糖我想改变以下内容Array;

[
  {
    "_id": "0e12e661cb50068a135b36067f001d20",
    "name": "Joe Bloggs",
    "type": "user"
  },
  {
    "_id": "0e12e661cb50068a135b36067f00373f",
    "name": "Ben Bloggs",
    "type": "user"
  }
]

进入下面Object,用_idtype省略;

{
  "0e12e661cb50068a135b36067f001d20": {
    "name": "Joe Bloggs"
  },
  "0e12e661cb50068a135b36067f00373f": {
    "name": "Ben Bloggs"
  }
}

编辑我需要返回对象而不是名称,因为可以将更多属性添加到这些对象中.



1> Nenad Vracar..:

你可以做到这一点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)
推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有