javascript - 如何从对象数组创建哈希对象
问题描述
我们有一个这种格式的 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
}
}
解决方案
您可以使用.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; }
推荐阅读
- gcc - 使用硬浮点时使用 gcc 交叉编译简单示例的问题
- c - 浏览器无法打开连接到我的服务器的图像
- angular - Angular 6中mat-datepicker的UTC日期
- wordpress - 如何从 URL 的末尾删除 index.php?
- python - Django:将过滤后的查询集传递给 ListView?
- google-cloud-platform - 如何使用 python 在 Google Cloud Platform 中为 BigQuery 用户授予个人权限
- database - Laravel 从另一个项目数据库中获取数据
- java - ResearchStack InformedConsent ConsentVisualStep 已弃用方法问题
- excel - Excel VBA:将多个工作表合并为一个
- javascript - 如何使用 javascript 获取所有 console.logs