Создать javascript 2D массив инкрементальных значений от 1 до 1000, а второе значение - случайное число от 1 до 50. - PullRequest
0 голосов
/ 24 августа 2010

Мне нужно создать 2D-массив для некоторой работы POC.

Первое значение массива должно увеличиваться с шагом в 1 между 1000 и вторым значением должно быть случайным числомот значений 1 до 50.

Ответы [ 2 ]

3 голосов
/ 24 августа 2010
var array = [];
for (var i = 1; i <= 1000; i++)
{
  array.push([i, 1 + Math.floor(Math.random() * 50)]);
}

Чтобы объяснить, как мы получаем случайное число от 1 до 50:

Math.random() генерирует случайное число с плавающей запятой r, где 0 ≤ r <1. Таким образом, умножение на 50 приведет к получению числа <code>s, где 0 ≤ s <50. Затем мы используем <a href="http://www.w3schools.com/jsref/jsref_floor.asp" rel="nofollow noreferrer">Math.floor(), который округляет десятичную дробь до ближайшего целого числа (поэтому результатом будет целое число от 0 до 49 включительно). Добавление 1 к этому даст желаемый результат - случайное целое число от 1 до 50.

1 голос
/ 24 августа 2010
var array = [];
for (var i = 1; i <= 1000; i++)
{
  array.push([i, Math.ceil(Math.random() * 50)]);
}

Лично я предпочитаю использовать Math.ceil и округлять его вверх, а не округлять , а затем добавить один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...