在TypeScript中获取日期的星期数

时间:2018-10-19 09:06:24

标签: javascript typescript oop

我有一个包含其他课程的课程

export class Sensor {
  public id: string;
  public label: string;
  public measures: Measure[];
  constructor(dbDate){

  }
}

export class Message {
  public id: string;
  public arrivalTimestamp: Date;
  public sensors: Sensor[];
  constructor(dbData: any) {
      this.id= dbData.id;
      this.arrivalTimestamp= dbData.value.timestamp ;
      this.sensors = new Sensor(dbData);
  }
}

我实际上遇到了问题:Type 'Sensor' is not assignable to type 'Sensor[]'. Property 'length' is missing in type 'Sensor'.

sensors的类型为Array of Sensor,但我在构造函数中对其产生的影响是类型Sensor

我尝试添加刹车new Sensor[](dbData);,但是它不起作用,我收到VS Code警告消息An element access expression should take an argument.

1 个答案:

答案 0 :(得分:1)

您想要的只是具有一个元素的数组,而不是“传感器数组”类型的元素。

在javascript中,您可以动态创建一个数组,只需用方括号将变量包装起来即可。

this.sensors = [new Sensor(dbData)];

通过这种方式this.sensors将始终具有一个元素。否则,您也可以将sensors变量初始化为空数组:

public sensors: Sensor[] = [];

然后使用push方法:

this.sensors.push(new Sensor(dbData));

此方法会将元素添加到数组