gpt4 book ai didi

javascript - es6 方法创建带有随机数的数组的数组?

转载 作者:行者123 更新时间:2023-11-28 14:47:20 25 4
gpt4 key购买 nike

尝试创建一个由值为 1 或 0 的数组组成的数组。但自 fill 以来,每个数组都有 [0,0,0,0,0,0] 或 [1,1,1,1,1,1]不是回调。我需要它是随机的,例如 [0, 1, 0, 0, 1] 创建值为 0 或 1 的数组的 es6 方法是什么?

const createBoard = function({width, height}) {


const board = Array(height).fill([])
.map(row => row.concat( Array(width).fill( Math.round(Math.random()) ) ))


return board
}

createboard({width: 5, height: 10})

我可以使用 for 循环来做到这一点,但我希望它更具声明性。

const createBoard = function({width, height}) {
let board = []
for(let row = 0; row < height; row++) {
board.push([])
for(let cell = 0; cell < width; cell++) {
board[row].push(Math.round(Math.random()))
}
}

return board

}

最佳答案

您可以使用Array#from创建外部和内部数组。由于 Array#from 需要一个具有 length 属性的对象,因此您可以提供 heightwidth 作为长度,并使用回调生成任何内容数组中需要的值。

const createBoard = ({width, height}) => 
Array.from({ length: height },
() => Array.from({ length: width },
() => Math.floor(Math.random() * 2)
)
);

const board = createBoard({width: 5, height: 10});

console.log(JSON.stringify(board));

关于javascript - es6 方法创建带有随机数的数组的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45903238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com