如何用二维数组实例化一个 class 对象?
How to instantiate a class object with a 2 dimensional array?
我正在尝试用二维数组实例化一个对象,但以下代码似乎不起作用:
class Board {
constructor(row,col){
this.board=[];
for (var i=0; i<row; i++){
for (var y=0; y<col; y++){
this.board[i][y]=0;
}
}
}
}
var board = new Board(10,10);
您需要先初始化子数组,然后才能用数字填充它 - this.board[i] = [];
:
class Board {
constructor(row,col){
this.board=[];
for (var i=0; i<row; i++){
this.board[i] = []; // init this.board[i]
for (var y=0; y<col; y++){
this.board[i][y]=0;
}
}
}
}
var board = new Board(10,10);
console.log(board);
你也可以使用Array.from()
来初始化板子:
class Board {
constructor(row,col){
this.board = Array.from({ length: row }, () =>
Array.from({ length: col }, () => 0)
);
}
}
const board = new Board(10,10);
console.log(board);
我正在尝试用二维数组实例化一个对象,但以下代码似乎不起作用:
class Board {
constructor(row,col){
this.board=[];
for (var i=0; i<row; i++){
for (var y=0; y<col; y++){
this.board[i][y]=0;
}
}
}
}
var board = new Board(10,10);
您需要先初始化子数组,然后才能用数字填充它 - this.board[i] = [];
:
class Board {
constructor(row,col){
this.board=[];
for (var i=0; i<row; i++){
this.board[i] = []; // init this.board[i]
for (var y=0; y<col; y++){
this.board[i][y]=0;
}
}
}
}
var board = new Board(10,10);
console.log(board);
你也可以使用Array.from()
来初始化板子:
class Board {
constructor(row,col){
this.board = Array.from({ length: row }, () =>
Array.from({ length: col }, () => 0)
);
}
}
const board = new Board(10,10);
console.log(board);