首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在将子数组连接到父数组

正在将子数组连接到父数组
EN

Stack Overflow用户
提问于 2020-10-13 00:29:27
回答 1查看 58关注 0票数 0

现在,我有一个对象数组,它的子对象也有一个对象数组。

代码语言:javascript
复制
 [
  {
    "code": "mock-code",
    "name": "mock-name",
    "children": [
      {
        "code": "mock-child-code",
        "name": "mock-child-name",
      },
      {
        "code": "mock-child-code",
        "name": "mock-child-name",
      },
    ],
  },
 {
    "code": "mock-code",
    "name": "mock-name",
    "children": [],
  },
 {
    "code": "mock-code",
    "name": "mock-name",
    "children": [
      {
       "code": "mock-code",
       "name": "mock-name",
      }
    ],
  }
]

我想提取子数组并将它们连接到父数组,如下所示。

代码语言:javascript
复制
 [
  {
    "code": "m1",
    "name": "mock-name",
    "children": [
      {
        "code": "mc-1",
        "name": "mn-1",
      },
      {
        "code": "mc-2",
        "name": "mn-2",
      },
    ],
  },
 {
    "code": "m2",
    "name": "mock-name",
    "children": [],
  },
 {
    "code": "mm3",
    "name": "mock-name",
    "children": [
      {
       "code": "mc-3",
       "name": "mn-3",
      }
    ],
  }
  {
    "code": "mc-1",
    "name": "mn-1",
  },
  {
    "code": "mc-2",
    "name": "mn-2",
  },
   {
    "code": "mc-3",
    "name": "mn-3",
  }
] 

有什么方法可以做到这一点。我现在循环遍历这个子数组,创建一个新的数组,检查它是否为空。这一切看起来有点凌乱。有没有一种干净利落的方法呢?

代码语言:javascript
复制
   let fullList = New Array()
   parentData.forEach(element => {
      if (!!element.children.length) {
       fullList.push(element.children);
      }
    });

   return parentData.concat(fullList);

这没有给我想要的结果,因为它向父对象添加了另一个数组,但这就是我所处的位置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-13 00:40:32

代码语言:javascript
复制
const newArray = originalArray.flatMap(element => [element, ...element.children])

这应该可以做到这一点,作为奖励,它将保留顺序(parent1、Parent1的子代、parent2、Parent2的子代等)。

当然,如果您只有一层嵌套,这是可行的。如果你有更高的深度级别,那就有点复杂了,可能需要使用Array.prototype.reduce()。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64321710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档