角度6:从另一个数组中获取一个数组

时间:2019-05-20 10:33:52

标签: angular typescript

我有IVisitView数组,其中

export interface IVisitView {
  visitDate?: Moment;
  clientName?: string;
}

export class VisitView implements IVisitView {
  constructor(
    public visitDate?: Moment,
    public clientName?: string,
  ) {}
}

如何使用String类型的visitDate而不是Moment获取新数组?

2 个答案:

答案 0 :(得分:0)

使用.map((x:IVisitView)=> x.visitDate。(一些fn来格式化日期)

答案 1 :(得分:0)

interface IVisitView {
  visitDate?: Date | string;
  clientName?: string;
}

class VisitView implements IVisitView {
  constructor(
      public visitDate?: Date | string,
      public clientName?: string
  ) {}
}


const visit1 = new VisitView(new Date(), 'UserName1');
const visit2 = new VisitView(new Date(), 'UserName2');
const visit3 = new VisitView(new Date(), 'UserName3');

const arr: Array<VisitView> = [visit1, visit2, visit3]

const visits: Array<IVisitView> = arr.map((v: IVisitView) => {
    if (v.visitDate instanceof Date) {
        v.visitDate = v.visitDate.toDateString();
    }
    return v;
});

console.log(visits);