Javascript 如何从对象数组创建哈希对象

Javascript 如何从对象数组创建哈希对象,javascript,arrays,json,object,javascript-objects,Javascript,Arrays,Json,Object,Javascript Objects,我们有一个这种格式的输入对象 var data = [{ 'name':'ABC', 'age' : 23 },{ 'name': 'PQR', 'age' : 34 },{ 'name': 'SQR', 'age' : 33 }] 我们必须将name的值设置为“key”,如下所示。 我将非常感谢你 输出数据 var data = { 'ABC' :{ 'age' : 23 }, 'PQR'

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

 var data = [{
      'name':'ABC',
      'age' : 23
 },{
     'name': 'PQR',
      'age' : 34
  },{
    'name': 'SQR',
    'age' : 33
}]
我们必须将name的值设置为“key”,如下所示。 我将非常感谢你

输出数据

var data = {
   'ABC' :{
      'age' : 23
    },
   'PQR' : {
      'age' : 34
   },
   'SQR' :{
     'age' : 33
   }
 }
您可以使用
.reduce()
获取所需的哈希对象:

let数据=[
{'name':'ABC','age':23},
{'name':'PQR','age':34},
{'name':'SQR','age':33}
];
让result=data.reduce((r,{name,{rest})=>(r[name]=rest,r),{});
控制台日志(结果)

。作为控制台包装{max height:100%!important;top:0;}
您还可以使用
forEach()
简化代码:

let数据=[
{'name':'ABC','age':23},
{'name':'PQR','age':34},
{'name':'SQR','age':33}
];
让结果={};
data.forEach(({name,…rest})=>(result[name]=rest));

控制台日志(结果)您尝试过什么,它到底有什么问题?这不是代码编写服务。请展示您的努力,并粘贴一个代码示例,好吗?