如何在javascript中将子数组添加到父数组?

时间:2017-09-21 20:14:24

标签: javascript arrays angular

我有一个表中的对象列表,这些对象是从我的角度服务中的http post方法返回的。我需要解析数据,这样才有意义。

我有一个标题数组,有标题和描述。我想为每个标头添加一个子数组,该标头包含受此描述影响的所有行。我怎么能在javascript / angular 2中做到这一点?

所以它看起来像这样

Header {Title, Error Description 1 }
     - Object 1 {ColumnId, Date, Column Description }
     - Object 2 {ColumnId, Date, Column Description }
Header 2 {Title, Error Description 2}
      - Object 1 {ColumnId, Date, Column Description }
     -  Object 2 {ColumnId, Date, Column Description }

1 个答案:

答案 0 :(得分:0)

您的请求中没有足够的详细信息,但我会执行以下操作:

let resultList = headerList.map(headerItem => Object.assign(headerItem, {
  descriptionList: getDescriptionList(headerItem)
}));

假设:

  • headerList是Header对象的初始列表;

  • descriptionList是子列表所在属性的名称 应该出席;

  • getDescriptionList(headerItem)是子列表getter方法 基于初始Header对象数据,如

这只是一个幻想,我需要有关列表构建过程的更多详细信息,但子列表生成器可能如下所示:

const getDescriptionList = (headerItem) => {
  return [{
      columnId: "001",
      date: new Date(),
      columnDescription: getDesc(headerItem, 1)
    }, {
      columnId: "002",
      date: new Date(),
      columnDescription: getDesc(headerItem, 2)
    }, 
    // ...
  ];
}

这是另一个假设:

  • getDesc(item, columnIndex)是基于初始Header对象数据和列索引
  • 的列描述getter方法