Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.06.2018, 21:04
Новичок на форуме
Отправить личное сообщение для LEXAdesigns Посмотреть профиль Найти все сообщения от LEXAdesigns
 
Регистрация: 03.06.2018
Сообщений: 6

Заполнить массив случайными числами
Сразу оговорюсь, что я совсем начинающий. Нашёл несколько реализаций, но подходящей не обнаружил.
Задача такая: заполнить массив случайными числами вида 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 раз пушим случайное число в массив. Но не работает так
Кто-нибудь может просветить неразумного?

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

Последний раз редактировалось LEXAdesigns, 03.06.2018 в 21:26.
Ответить с цитированием
  #2 (permalink)  
Старый 03.06.2018, 21:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от LEXAdesigns
var arr2 = arr2.push(a);
Ответить с цитированием
  #3 (permalink)  
Старый 03.06.2018, 21:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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

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


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #4 (permalink)  
Старый 03.06.2018, 21:27
Новичок на форуме
Отправить личное сообщение для LEXAdesigns Посмотреть профиль Найти все сообщения от LEXAdesigns
 
Регистрация: 03.06.2018
Сообщений: 6

Извиняюсь, код поправил
Ответить с цитированием
  #5 (permalink)  
Старый 03.06.2018, 21:34
Новичок на форуме
Отправить личное сообщение для LEXAdesigns Посмотреть профиль Найти все сообщения от LEXAdesigns
 
Регистрация: 03.06.2018
Сообщений: 6

Сообщение от рони Посмотреть сообщение
упс
Спасибо огромное!

Вот так записал:
var arr2 = [];
for ( i = 0; i < 20; i++ ) {
	arr2.push( Math.round( Math.random() * 100 ));
} document.write( '<br>' + arr2 );
Ответить с цитированием
  #6 (permalink)  
Старый 03.06.2018, 21:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от LEXAdesigns
Вот так записал:
на всякий случай ...
var arr2 = [], i;
или так
for ( var i = 0; i < 20; i++ )
Ответить с цитированием
  #7 (permalink)  
Старый 03.06.2018, 22:20
Новичок на форуме
Отправить личное сообщение для LEXAdesigns Посмотреть профиль Найти все сообщения от LEXAdesigns
 
Регистрация: 03.06.2018
Сообщений: 6

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

А, ну да, переменную объявить
Спасибо!
Ответить с цитированием
  #8 (permalink)  
Старый 03.06.2018, 23:53
Новичок на форуме
Отправить личное сообщение для LEXAdesigns Посмотреть профиль Найти все сообщения от LEXAdesigns
 
Регистрация: 03.06.2018
Сообщений: 6

Хочу ещё одно узнать.
Из массива выше надо было найти минимальное и максимальное значение. Смастерил, но опять не работало - там, где 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>' );


Спасибо!
Ответить с цитированием
  #9 (permalink)  
Старый 04.06.2018, 00:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от LEXAdesigns
что значит это троеточие?
Деструктуризация #оператор-spread
Ответить с цитированием
  #10 (permalink)  
Старый 04.06.2018, 00:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от LEXAdesigns
где Math.max(arr) — выдавало NaN
метод-apply
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заполнить двухмерный массив произвольными номерами цветов (рандомно) Tungusv Events/DOM/Window 28 07.11.2017 20:18
Как заполнить массив не повторяющимися случайными числами? wadim Общие вопросы Javascript 11 12.04.2015 13:04
Заполнить массив случайными уникальными числами dwarf Общие вопросы Javascript 1 07.06.2014 16:52
Создать двумерный массив и заполнить maternik Общие вопросы Javascript 3 19.10.2013 20:25
Заполнить массив LextoR Элементы интерфейса 4 26.01.2011 21:39