【问题标题】:Get row from array by ID通过 ID 从数组中获取行
【发布时间】:2018-10-26 18:44:48
【问题描述】:

我有一个名为 IOfficeInfo 的自定义数组,如下所示:

export class IOfficeInfo {
        OfficeID: number;
        TypeOfOffice: string;
        DateSubmitted: string;
        OfficeName: string;
}

我想创建一个相同类型的空白数组,然后将一个办公室插入到该空白数组中,其中 OfficeID 等于现有数字。我的问题是我似乎无法弄清楚如何从数据数组中选择一个办公室并将其推入空白数组。

一旦我完成这项工作,我将从按时间顺序排序的数据数组中插入剩余的办公室。我知道这是一个奇怪的要求,但我不是制造它们的人。我只需要按照我说的去做。

这是我处理 sortOfficeInfo 函数的方式。在调试时,我可以看到传递到方法中的数据。 data.sort 工作正常。同样,我的问题是得到一个办公室并将其推入空白数组(returnarray)。具体来说,topOffice 是未定义的。

  sortOfficeInfo(data: IOfficeInfo[]): IOfficeInfo[] {
    // The first item has to be the enrollment that the user clicked.
    // The remaining enrollments are dupes that are required to be ordered by date submitted
    let returnarray: IOfficeInfo[] = [];
    let topoffice: IOfficeInfo = data.find(x => x.OfficeID === this.OfficeID);

    data.sort((a: any, b: any) => {
      if (a.DateSubmitted < b.DateSubmitted) {
        return -1;
      } else if (a.DateSubmitted > b.DateSubmitted) {
        return 1;
      } else {
        return 0;
      }
    });
    debugger;
    returnarray.push(topoffice);
    return returnarray;
  }

我的问题: 如何通过 OfficeID 选择行以及如何将其推送到返回数组中?

【问题讨论】:

    标签: arrays angular typescript multidimensional-array


    【解决方案1】:

    咳咳…… 问题是 OfficeID 是一个字符串,而且它必须是一个数字。

    【讨论】:

      猜你喜欢
      • 2016-12-25
      • 1970-01-01
      • 2020-04-04
      • 2015-10-02
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 1970-01-01
      相关资源
      最近更新 更多