我有一个看起来像这样的对象数组。
我希望将这个数组翻译成对象数组,对象包含
const input = [
{
group: {
id: "group1",
groupName: "Group1"
},
categories: [
{
id: "category11",
categoryName: "Category 11",
subCategories: []
}
]
},
{
group: {
id: "group2",
groupName: "Group 2"
},
categories: [
{
id: "category21",
categoryName: "Category 21",
subCategories: []
},
{
id: "category22",
categoryName: "Category 22",
subCategories: [
{
id: "category221",
categoryName: "Category 221",
subCategories: []
}
]
}
]
}
];
我希望将这个数组翻译成对象数组,对象包含
key、name和categories
作为其标准格式,以保持一致性。const output = [
{
key: "group1",
name: "Group1",
categories: [
{
key: "category11",
name: "Category 11",
categories: []
}
]
},
{
key: "group2",
name: "Group 2",
categories: [
{
key: "category21",
name: "Category 21",
categories: []
},
{
key: "category22",
name: "Category 22",
categories: [
{
key: "category221",
name: "Category 221",
categories: []
}
]
}
]
}
];
每个 input
对象的第一级应该被视为最终输出结果中的根,其余的项应该递归地嵌套在这个第一级中。
我尝试的代码:
const output = arr.map((item) => {
return {
key: item.group.id,
name: item.group.groupName,
categories: [{ ...item }]
};
});
我能够格式化第一级,但不能整体输出。有人能帮我吗?