Javascript.RU

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

Масив с рандомным выпадением заданонго ряда
Здравствуйте есть массив допустим из n чисел,подскажите код который может показывать рандомно одно число из этого массива ,массив должен повторяться ровно столько раз сколько чисел было задано ,допустим задан массив 1,2,3,4,5 он должен показать 3,2,1,4,5 (в любой последовательности но,все пять чисел по очереди(за один раз показывается только одно число) и не повторять уже выпавшее число раньше ) скажу что мне нужен массив из 300 чисел
Ответить с цитированием
  #2 (permalink)  
Старый 15.12.2016, 16:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Берем массив, формируем случайный его индекс от 0 до длина_массива - 1, отображаем полученное, удаляем из массива отображенный индекс, повторяем сначала. Либо запоминать ранее отображенный индекс, но это заново формировать новый случайный, пока не будет повтора.

Последний раз редактировалось laimas, 15.12.2016 в 16:36.
Ответить с цитированием
  #3 (permalink)  
Старый 15.12.2016, 18:45
Новичок на форуме
Отправить личное сообщение для Petral2002 Посмотреть профиль Найти все сообщения от Petral2002
 
Регистрация: 15.12.2016
Сообщений: 3

спасибо за быстрый ответ,но я не совсем понял ,формирование его случайного индекса может повторить индекс ,а я его из масива удалил....ятак понимаю случайную формировку индекса нужно с помощью гсч выбирать и выводить ее на экран ,а если гсч выдаст опять то же число

у меня большое множество функций,мне нужно чтоб каждая функция за весь цикл выполнялась один раз ,ну я попробую может получится ,спасибо за подсказку с удалением уже выведенного числа
Ответить с цитированием
  #4 (permalink)  
Старый 15.12.2016, 18:50
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Petral2002,
Сообщение от Petral2002
формирование его случайного индекса может повторить индекс ,а я его из масива удалил....
По алгоритму laimas
var arr = [1,2,3,4,5],
      i;
while(arr.length > 0) {
   i = Math.round(Math.random() * (arr.length - 1));
   alert(arr[i]);
   arr.splice(i,1);
}

Индекс может и повторится, но массив уже сократился и сдвинулся. Дырок нет.

Последний раз редактировалось Dilettante_Pro, 15.12.2016 в 18:54.
Ответить с цитированием
  #5 (permalink)  
Старый 15.12.2016, 19:29
Новичок на форуме
Отправить личное сообщение для Petral2002 Посмотреть профиль Найти все сообщения от Petral2002
 
Регистрация: 15.12.2016
Сообщений: 3

попробую Спасибо большое ,то что нужно !
Ответить с цитированием
Ответ



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

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