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