我有一个这样的对象数组:
let array = [
{
"A": [
{
"X": "abc123",
"Y": "abc213",
"Z": "xyz123"
},
{
"X": "xyz7",
"Y": "wqr",
"Z": "dasd"
}
]
},
{
"B": [
{
"X": "sadasd",
"Y": "asdasd",
"Z": "sadasd"
},
{
"X": "ffff531",
"Y": "asdddz",
"Z": "xx11155"
}
]
}
]
我想把它转换成map,外键是A/B,但是内键应该是X的值,指向对象本身的值。
{
"A": {
"abc123":{
"X": "abc123",
"Y": "abc213",
"Z": "xyz123"
},
"xyz7": {
"X": "xyz7",
"Y": "wqr",
"Z": "dasd"
}
},
"B": {
"sadasd":{
"X": "sadasd",
"Y": "asdasd",
"Z": "sadasd"
},
"ffff531":{
"X": "ffff531",
"Y": "asdddz",
"Z": "xx11155"
}
}
}
我试着使用reduce方法,但我只能在没有嵌套对象的情况下将其转换为Map,而不是嵌套对象。
我该怎么做?使用Array.prototype.reduce
方法是否可能?
1条答案
按热度按时间s6fujrry1#
你可以构建一个单独的对象,然后用需要的键创建嵌套对象。