javascript - 努力将对象转换为在其中一个子对象中具有键
问题描述
我正在努力转换这个文件,以便 clientID 是“事物”中对象的键。我想展平数组,然后为外部对象中的每个对象设置键。
{
"id": "575802",
"things": [{
"clientId": "123456",
"val": "file1"
},
{
"clientId": "1234",
"val": "file2"
}
]
}
以上我想成为
{
"id":"575802",
"things":{
"123456":{
"val":"file1"
},
"1234":{
"val":"file2"
}
}
}
我尝试过使用 Object.entries 的各种方法,但我找不到特定的东西来让 ID 成为关键
解决方案
您可以reduce()
在things
阵列上使用
const obj = {
"id": "575802",
"things": [{
"clientId": "123456",
"val": "file1"
},
{
"clientId": "1234",
"val": "file2"
}
]
}
obj.things = obj.things.reduce((ac,{clientId,...rest}) => (ac[clientId] = rest, ac), {})
console.log(obj)
推荐阅读
- git - 什么是 git diff
^ ? - node.js - Nodemailer:4 超过 8 的邮件以空正文发送
- c# - 我在 Unity 中的第一个 C# 游戏(介绍 playerprefs)
- ansible - item.stat.exist 不起作用的剧本
- mysql - mysql分析表导致奇怪的行为
- compiler-construction - 如何以我的自定义语言实现打印到标准输出?
- javascript - 错误:QueryReqWrap.onresolve 处的 querySrv ENODATA _mongodb._tcp.blog-cluster-0hb5z.mongodb.net [as oncomplete]
- asp.net - 由于身份验证错误,无法执行Scalar()
- ios - 何时可以删除 convertToUIApplicationOpenExternalURLOptionsKeyDictionary 辅助函数?
- sql - Oracle DB 查询自定义顺序