js在循环内设置随机值

时间:2019-01-06 23:22:27

标签: javascript reactjs loops

我尝试在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 }

0 个答案:

没有答案