Javascript 改变数组结构

Javascript 改变数组结构,javascript,Javascript,我有一个categoriesWithSub数组,它有一个category对象和subCategory对象数组,其结构如下: [{ category: {}, subCategory: [] // The array of subCategories for this category. }] [{ category: { id: '', catName: '', subCategories: [] }, }] 这是设置

我有一个
categoriesWithSub
数组,它有一个
category
对象和
subCategory
对象数组,其结构如下:

[{
    category: {},
    subCategory: [] // The array of subCategories for this category.
}]
[{
    category: {
       id: '',
       catName: '',
       subCategories: []
    },
}]
这是设置Sub数组的
分类的代码:

const categories = await getCategories();
const subCategories = await Promise.all(categories.map(category => getSubCategories(category.id)));
const categoriesWithSub = zipWith(categories, subCategories, (category, subCategory) => ({
  category,
  subCategory,
}));
如何更新代码以根据以下结构组合类别和子类别:

[{
    category: {},
    subCategory: [] // The array of subCategories for this category.
}]
[{
    category: {
       id: '',
       catName: '',
       subCategories: []
    },
}]

您可以在映射时直接执行此操作:

 const categories = await getCategories();

 const result = await Promise.all(categories.map(async category => {
  const subCategories = await getSubCategories(category.id);
  return { ...category, subCategories };
}));
或者保持您的
拉链与

 const result = zipWith(categories,  subCategories, (category, subCategories) => ({
   ...category,
   subCategories,
 }));

请单击
[]
代码段编辑器,并使用
回调创建所需的结构。