Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Заполнить массив случайными числами (https://javascript.ru/forum/misc/73992-zapolnit-massiv-sluchajjnymi-chislami.html)

LEXAdesigns 03.06.2018 21:04

Заполнить массив случайными числами
 
Сразу оговорюсь, что я совсем начинающий. Нашёл несколько реализаций, но подходящей не обнаружил.
Задача такая: заполнить массив случайными числами вида Math.round( Math.random() * 100 ).

Вот, наваял такое, но не работает :(

var arr2 = [];
for ( i = 0; i < 20; i++ ) {
	var a = Math.round( Math.random() * 100 );
	var arr2 = arr2.push(a);
	document.write( '<br>' + arr2);
}


Выводит единицу.
Я понимаю это так: объявляем массив, потом перебором 20 раз пушим случайное число в массив. Но не работает так :(
Кто-нибудь может просветить неразумного?

Заранее благодарю!

рони 03.06.2018 21:11

Цитата:

Сообщение от LEXAdesigns
var arr2 = arr2.push(a);

:-?

рони 03.06.2018 21:12

LEXAdesigns,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

LEXAdesigns 03.06.2018 21:27

Извиняюсь, код поправил

LEXAdesigns 03.06.2018 21:34

Цитата:

Сообщение от рони (Сообщение 486579)
:-?

упс :(
Спасибо огромное!

Вот так записал:
var arr2 = [];
for ( i = 0; i < 20; i++ ) {
	arr2.push( Math.round( Math.random() * 100 ));
} document.write( '<br>' + arr2 );

рони 03.06.2018 21:45

Цитата:

Сообщение от LEXAdesigns
Вот так записал:

на всякий случай ...
var arr2 = [], i;
или так
for ( var i = 0; i < 20; i++ )

LEXAdesigns 03.06.2018 22:20

Цитата:

Сообщение от рони (Сообщение 486583)
на всякий случай ...
var arr2 = [], i;
или так
for ( var i = 0; i < 20; i++ )


А, ну да, переменную объявить :)
Спасибо! :thanks:

LEXAdesigns 03.06.2018 23:53

Хочу ещё одно узнать.
Из массива выше надо было найти минимальное и максимальное значение. Смастерил, но опять не работало - там, где Math.max(arr) — выдавало NaN, хотя в массиве номера, и если ввести значения в скобках явно, то всё работало. Нашёл здесь на форуме запись вида Math.max(...arr) — и всё заработало!
Вопрос: что значит это троеточие?

var arr = [];
for ( var i = 0; i < 20; i++ ) {
	arr.push(Math.round( Math.random() * 100 ));
} 
document.write( '<br>' + arr + '<br>' );
document.write( '<br>' + Math.max(...arr) + '<br>' );
document.write( '<br>' + Math.min(...arr) + '<br>' );


Спасибо!

рони 04.06.2018 00:16

Цитата:

Сообщение от LEXAdesigns
что значит это троеточие?

Деструктуризация #оператор-spread

рони 04.06.2018 00:21

Цитата:

Сообщение от LEXAdesigns
где Math.max(arr) — выдавало NaN

метод-apply

LEXAdesigns 04.06.2018 00:23

Цитата:

Сообщение от рони (Сообщение 486586)

Вот спасибо!
Теперь понятно! :dance:

Вячеслав177 05.04.2020 12:01

var arr2 = [];

for (i = 0; i < 20; i++) {

arr3 = arr2.push(Math.floor(Math.random() * 100));
document.write('<br>' + arr3);
}

рони 05.04.2020 13:24

Вячеслав177,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

sanderleik 27.06.2020 23:14

Ребята подскажите как решить задачку ,

Создать массивы А и В. Заполнить случайными числами.

Найди все элементы которые повторяются в массивах (как найти честно говоря я не догоняю , буду благодарен если поможете)

var a = [];
var b = [];

for ( var i = 0; i < 20; i++ ) {

a.push( Math.round( Math.random() * 100 ));
b.push( Math.round( Math.random() * 100 ));

} document.write( '<br>' + a );
document.write( '<br>' + b );

рони 28.06.2020 07:55

sanderleik,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

<script>
var a = [];
var b = [];
var c = [];
var d = [];
for ( var i = 0; i < 20; i++ ) {
var s = Math.round( Math.random() * 100 );
var k = Math.round( Math.random() * 100 );
if(a.includes(s) && !c.includes(s)) c.push(s);
a.push(s);
if(b.includes(k) && !d.includes(k)) d.push(k);
b.push(k);
}
document.write( '<br>массив a: ' + a );
document.write( '<br>дубликаты массива a: ' + c );
document.write( '<br>массив b: ' + b );
document.write( '<br>дубликаты массива b: ' + d );
  </script>


Часовой пояс GMT +3, время: 02:04.