Код, который создает матрицу со случайными значениями 0 и 1 - PullRequest
1 голос
/ 18 апреля 2019

Можете ли вы написать код js, который случайным образом заполняет пустую матрицу 0 или 1?Мне нужно использовать функцию 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])
    }
}

Ответы [ 2 ]

2 голосов
/ 18 апреля 2019

Вы должны Math.random() и затем использовать Math.round(), чтобы получить 0 или 1. Во-вторых, вы должны установить 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(). Создайте массив заданной длины и сопоставьте его с другим массивом такой же длины со случайными значениями от 0 или 1

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 голосов
/ 18 апреля 2019

Вы должны использовать Math.round(Math.random()).

...