所以我想将一个类的3个实例推到另一个类的数组中,但我无法弄清问题所在:
到目前为止我的代码:
这些是课程
export class FudbalskiKlub implements IFudbalskiKlub {
public registarskaOznaka: number;
public nazivKluba: string;
public krazakOpis: string;
public listaIgraca: [IIgrac];
constructor(ID: number, nazivK: string, kratakOP: string, listaIG: [IIgrac]){
this.registarskaOznaka = ID;
this.nazivKluba = nazivK;
this.krazakOpis = kratakOP;
this.listaIgraca = listaIG;
}
}
export class Igrac implements IIgrac {
public registarskaOznaka: number;
public imeIgraca: string;
public prezimeIgraca: string;
public godisteIgraca: number;
public prvaPostava: boolean;
constructor(iDIgrac: number, imeIg: string, prezimeIg: string, godisteIg: number, prvaPo: boolean) {
this.registarskaOznaka = iDIgrac;
this.imeIgraca = imeIg;
this.prezimeIgraca = prezimeIg;
this.godisteIgraca = godisteIg;
this.prvaPostava = prvaPo;
}
}
import {Igrac} from "./index";
import {FudbalskiKlub} from "./index";
let newIgrac1 = new Igrac(13, "Nikola", "Nikolic", 1991, true);
let newIgrac2 = new Igrac(14, "Petar", "Petrovic", 1989, true );
let newIgrac3 = new Igrac(15, "Damjan", "Nikolic", 1800, false);
export let x3 = [newIgrac1, newIgrac2, newIgrac3];
export let newFudbalskiKlub = new FudbalskiKlub(1002,"My Sports Club", "Best Club In The Whole World", [newIgrac1]);
问题是,当我尝试使用x3而不是newIgrac1时,它不会让我拥有由我在此类中使用其他构造函数制作的3个对象,而我不知道为什么。
答案 0 :(得分:2)
当我尝试使用
x3
而不是[newIgrac1]
时,它不会让我
将listaIG: [IIgrac]
更改为listaIG: IIgrac[]
[IIgrac]
是单个项目的 tuple 。 IIgrac[]
是一个数组。
答案 1 :(得分:-1)
由于x3被定义为数组, 尝试推送到x3
x3.push(newIgrac1, newIgrac2, newIgrac3 )