【发布时间】:2020-08-19 20:21:28
【问题描述】:
我有一个包含以下数据的数组对象:
const arr = [
{
key: 'mykey1597855209',
integrity: 'sha512-T9JWj=='
},
{
key: 'mykey159785520915978552101597855212',
integrity: 'sha512-T9JWj=='
},
{
key: 'mykey15978552091597855210',
integrity: 'sha512-lcddfd=='
},
{
key: 'otherkey15978552091597855210',
integrity: 'sha512-abcdfd=='
}];
我想从arr[] 对象创建key value 对,这样integrity 成为键,key 成为值
所需的输出如下所示:
{
"sha512-T9JWj==": [
"mykey1597855209",
"mykey159785520915978552101597855212"
],
"sha512-lcddfd==": [
"mykey15978552091597855210"
],
"sha512-abcdfd==": [
"otherkey15978552091597855210"
]
}
我写了以下代码:
const arr = [{
key: 'mykey1597855209',
integrity: 'sha512-T9JWj=='
},
{
key: 'mykey159785520915978552101597855212',
integrity: 'sha512-T9JWj=='
},
{
key: 'mykey15978552091597855210',
integrity: 'sha512-lcddfd=='
},
{
key: 'otherkey15978552091597855210',
integrity: 'sha512-abcdfd=='
}
];
const result = Object.assign(...arr.map(a => ({
[a.integrity]: a.key
})));
console.log(result)
【问题讨论】:
-
使用 reduce 并推送到数组 - 这是无效的
{ 'mykey1597855209', 'mykey159785520915978552101597855212' }
标签: javascript node.js arrays dictionary