我尝试在react类内的js循环中设置随机值-当我在循环内进行console.log记录时,我得到了不同的随机值,但是在循环外,我的函数返回了最后一个为所有元素生成的随机值数组-为什么?
genBomb(chance){
return (Math.random())
}
genBoard(width, height, chance) {
let board = new Array(width).fill(new Array(height).fill({}))
for(let i = 0; i < width; i++){
for(let j = 0; j < height; j++){
board[i][j].open = true
board[i][j].bomb = this.genBomb(chance)
console.log(board[i][j].bomb) //<- first console log
}
}
console.log(board) //<- second console.log
return board
}
this.genBoard(4,4,50)
第一个控制台日志结果-正常
0.7381104974410921
0.803021327539017
0.689253948016345
0.2597936599628139
第二个给我所有元素相同的结果
Object { open: true, bomb: 0.2597936599628139 }
Object { open: true, bomb: 0.2597936599628139 }
Object { open: true, bomb: 0.2597936599628139 }
Object { open: true, bomb: 0.2597936599628139 }