У меня есть 2D-массив в проекте React, определенный в состоянии / конструкторе, который выглядит следующим образом:
constructor(props){
super(props);
this.state = {
boardHeight: 50,
boardWidth: 30,
iterations: 10,
reset: false,
alive: false,
board: [],
randomNum: ''
};
this.state.board = new Array(this.state.boardHeight).fill(new Array(this.state.boardWidth).fill(0));
}
Позже в моей программе я хочу заполнить 2D-массив случайным числом от 0и 1. Если я использую функцию .map, я могу поместить случайное число в массив следующим образом:
componentDidMount = () => {
const data = this.state.board;
// Generates Array of random numbers
const startingBoard = data.map(Math.random)
console.log('Starting board contains ' + startingBoard);
// After startingBoard is working I can set state with startingBoard
this.setState({
board: startingBoard
});
}
const startingBoard = data.map(Math.random)
успешно помещает случайные числа в одно измерение двумерного массива.Как мне вложить вторую функцию .map, чтобы я мог создавать случайные числа для обоих измерений этого массива?
Я использую этот массив для сетки игрового поля.Мне нужно генерировать случайные числа для любого квадрата в сетке (т.е. [0] [0], [0] [1] и т. Д.), Поэтому мне нужно иметь возможность создавать случайные числа для обоих массивов в этом 2Dмассив.
Примерно так:
const starting - data.map((x, index) => {
x.map((y, index) => {
return Math.random;
})
})