【问题标题】:How to create hash object from array of object [closed]如何从对象数组创建哈希对象[关闭]
【发布时间】:2019-04-08 13:49:01
【问题描述】:

我们有一个这种格式的 Input 对象

 var data = [{
      'name':'ABC',
      'age' : 23
 },{
     'name': 'PQR',
      'age' : 34
  },{
    'name': 'SQR',
    'age' : 33
}]

我们必须将 name 的值作为“键”,如下所示。 我会非常感谢你。

输出数据

var data = {
   'ABC' :{
      'age' : 23
    },
   'PQR' : {
      'age' : 34
   },
   'SQR' :{
     'age' : 33
   }
 }

【问题讨论】:

  • 你尝试过什么,它到底有什么问题?这不是代码编写服务。
  • 能否请您展示您的努力并粘贴您的代码示例?

标签: javascript arrays json object javascript-objects


【解决方案1】:

你也可以使用forEach()来简化代码:

let data = [
  {'name':'ABC', 'age' : 23},
  {'name': 'PQR', 'age' : 34},
  {'name': 'SQR', 'age' : 33}
];

let result = {};
data.forEach(({name, ...rest}) => (result[name] = rest));

console.log(result);

【讨论】:

    【解决方案2】:

    您可以使用.reduce() 来获取所需的哈希对象:

    let data = [
      {'name':'ABC', 'age' : 23},
      {'name': 'PQR', 'age' : 34},
      {'name': 'SQR', 'age' : 33}
    ];
    
    let result = data.reduce((r, {name, ...rest}) => (r[name] = rest, r) , {});
    
    console.log(result);
    .as-console-wrapper { max-height: 100% !important; top: 0; }

    【讨论】:

      猜你喜欢
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      • 2018-08-20
      • 1970-01-01
      相关资源
      最近更新 更多