如何将数组对象推入另一个对象?

时间:2020-05-09 19:44:55

标签: javascript typescript ecmascript-6

我想匹配id和parentId并获取新对象

元素可以获取多个数据,并且必须根据ID匹配进行嵌套

我找不到匹配的方法,转换后可以搜索新列表吗?

有可能做这样的动态功能吗?

我将在有角度的项目中使用此代码

第一个数组

[
  {
    id: '1',
    parentId: 0,
    name: 'x'
  },
  {
    id: '2',
    parentId: 1,
    name: 'y'
  },
  {
    id: '3',
    parentId: 2,
    name: 'z'
  },
  {
    id: '4',
    parentId: 2,
    name: 'q'
  },
  {
    id: '5',
    parentId: 3,
    name: 'e'
  },
  {
    id: '6',
    parentId: 5,
    name: 'r'
  }
]

新对象

{
  element: [
    {
      data: {
        id: '1',
        parentId: 0,
        name: 'x'
      },
      element: [
        {
          data: {
            id: '2',
            parentId: 1,
            name: 'y'
          },
          element: [
            {
              data: {
                id: '3',
                parentId: 2,
                name: 'z'
              },
              element: [
                {
                  data: {
                    id: '5',
                    parentId: 3,
                    name: 'e'
                  },
                  element: [
                    {
                      data: {
                        id: '6',
                        parentId: 5,
                        name: 'r'
                      },
                      element: [

                      ]
                    }
                  ]
                }
              ]
            },
            {
              data: {
                id: '4',
                parentId: 2,
                name: 'q'
              },
              element: [

              ]
            }
          ]
        }
      ]
    }
  ]
}

1 个答案:

答案 0 :(得分:1)

MSN Javascript documentation中查找Array.find()。基本上,为搜索传递一个简单的表达式。