用随机0和1值创建矩阵的代码

问题描述 投票:1回答:3

你能写一个用0或1随机填充空矩阵的js代码吗?我需要使用Random()函数。

我写了这段代码,我得到一个错误Random()没有定义

var matrix = [];


for(var y = 0; y<5; y++){
    for(var x = 0; x<5; x++){
        let arr = [0,1]
     matrix[y][x]= random(arr)
      matrix.push(matrix[y][x])
    }
}
javascript matrix random
3个回答
2
投票

你应该Math.random()然后使用Math.round()来获得01。其次你应该将matrix[y]设置为空数组,否则代码会抛出错误。

var matrix = [];

for(var y = 0; y<5; y++){
    matrix[y] = [];
    for(var x = 0; x<5; x++){
      matrix[y][x]= Math.round(Math.random())
      matrix.push(matrix[y][x])
    }
}
console.log(matrix)

更容易创建任何长度的矩阵,您可以使用map()。创建一个给定长度的数组并将其映射到另一个具有相同长度的数组具有来自01的随机值

const getMatrix = len => [...Array(len)].map(x => [...Array(len)].map(b => Math.round(Math.random())));

let res = getMatrix(5);
console.log(res)

对于不同的长度和宽度,使用两个参数。

const getMatrix = (l,w) => [...Array(l)].map(x => [...Array(w)].map(b => Math.round(Math.random())));

let res = getMatrix(2,3);
console.log(res)

0
投票

你应该使用Math.round(Math.random())


© www.soinside.com 2019 - 2024. All rights reserved.