【发布时间】:2020-10-02 08:12:36
【问题描述】:
我正在尝试找到一种更优雅的方式将字典字典转换为字典数组并保留原始字典的键信息。
如果是
let data= { boss: { name:"Peter", phone:"123"},
minion: { name:"Bob", phone:"456"},
slave: { name:"Pat", phone: "789"}
}
我想想出一些能给我的东西
output = [ { role:"boss", name:"Peter", phone:"123"},
{ role:"minion", name:"Bob", phone:"456"},
{ role:"slave", name:"Pat", phone:"789"}
]
我的解决方案是使用Object.keys 方法,但我认为它不是很有效。有些东西告诉我我要走复杂的全能路,一定有一条更简单的路,但我不明白:
Object.keys(data)
.map((elem, i) => {
return Object.assign({role: e}, Object.values(data)[i]);
})
这是做我打算做的最干净的方式吗?
谢谢
【问题讨论】:
-
你可以使用
const output = Object.entries(data).map(({ role, value) => ({ ...value, role }));
标签: javascript arrays dictionary