【发布时间】:2021-12-03 05:31:40
【问题描述】:
如果我有可用的密钥,例如:
[
"cars[].model",
"cars[].make",
"cars[].year",
"toys.color",
"toys.type[].brand",
"toys.type[].price",
"id",
"books[].publisher[].authors[]"
]
其中cars[].model 表示cars 是一个对象数组,其中model 作为键之一。
如果输入是:
{
"cars": [
{
"make": "Audi"
},
{
"model": "A8",
"year": "2007"
}
],
"id": "xyz",
"extra": "test",
"toys": {
"color": "Black",
"type": [
{
"price": "$100"
}
]
}
}
如何根据这些可用键和输入对象创建对象?
目标输出:
{
"cars": [
{
"model": "",
"make": "Audi",
"year": ""
},
{
"model": "A8",
"make": "",
"year": "2007"
}
],
"toys": {
"color": "Black",
"type": [
{
"brand": "",
"price": "$100"
}
]
},
"id": "xyz",
"books": [
{
"publisher": [
{
"authors": []
}
]
}
],
"extra": "test"
}
如果可用键不存在,则值为空。
我曾尝试展平/取消展平嵌套对象,但徒劳无功。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript arrays json typescript object