Typescript:创建、保存和搜索对象的最佳方式

Typescript: Best way to create, save and search Objects

我是 typescript 的新手,想创建一个存储对象。

对象应如下所示:

workoutResults: array { 
    workoutResult {
        dateOfWorkout: string
        rounds: array {
            sets:array {
                repeats: number;
                weight: number;
                duration: number;
            }
        }
    }
}

我想创建过去所有锻炼的历史记录,还想在用户开始新的锻炼时获得最新的锻炼结果。

我只是玩弄界面,但由于某些原因这不起作用:

interface WorkoutResult {
    workoutDate: string;
    workoutSet: WorkoutSet;
}

interface WorkoutSet {
}

export class WorkoutDoPage {

    private workoutResults: Array<WorkoutResult>;

    constructor(private nav: NavController, private navParams: NavParams, public exerciseData: ExerciseData) {

        var testDate: any = new Date();

        this.workoutResults.push(testDate);

        console.log(this.workoutResults);

    }

}

抛出错误:无法读取未定义的 属性 'push'。

也许你能帮我一点忙:)

在打字稿中归档这样的数据结构的最佳方法是什么?

您必须在声明之后或在构造函数中初始化您的数组:

private workoutResults: Array<WorkoutResult> = [];

constructor(private nav: NavController, private navParams: NavParams, public exerciseData: ExerciseData) {

    var testDate: any = new Date();
    this.workoutResults = [];
    this.workoutResults.push(testDate);

    console.log(this.workoutResults);

}

对于子数组,您可以使用类似的东西:

interface WorkoutSet {
  repeats: number;
  weight: number;
  duration: number;
}

interface WorkoutRounds {
  rounds: WorkoutSet[];
}

interface WorkoutResults {
  dateOfWorkout: string;
  rounds: WorkoutRounds[];
}
workoutResults: WorkoutResults[] = [];

然后将包含这些数据的完整对象推送到 WorkoutResults 数组中。