我正在尝试从另一个类中的一个类创建对象数组,但是当我将其推入时会引发错误,提示“无法读取未定义的属性'0'。有人可以帮助我吗? 这是我的示例:(我正在使用打字稿)
导出类Vector {
private elements:Array<number>
constructor(n:number, k:number){
this.elements = []
for (let i=0; i<n; i++) {
this.elements.push(Math.floor(Math.random()*k)+1);
}
}
}
类矩阵{
private elements:Vector[];
constructor(n:number, m:number, k:number) {
this.elements = new Array();
for (let i=0; i<n; i++){
for (let j=0; j<m; j++) {
this.elements[i][j].push(Math.floor(Math.random()*k)+1)
}
}
}
}
答案 0 :(得分:0)
首先,this.elements = new Array
应该是this.elements = new Array()
并且您不能执行this.elements[i][j].push()
,因为this.elements[i][j]
不存在,您不能推送到undefined
。
它应该像这样:
constructor(n:number, m:number, k:number) {
this.elements = new Array();
for (let i=0; i<n; i++){
this.elements.push(new Array());
for (let j=0; j<m; j++) {
this.elements[i].push(Math.floor(Math.random()*k)+1)
}
}
}