Ограниченная псевдослучайная последовательность неповторяющихся чисел в JavaScirpt
 
			При разработке различных программ на JavaScirpt, периодически встает задача сгенерировать псевдослучайную последовательность неповторяющихся чисел. Один из вариантов реализации я сейчас Вам и покажу. Заметьте, что, однако, это далеко не идеальная реализация, так она, например, не обеспечивает должной криптостойкости.
Код:
// функция генерирует случайное число диапазоне [min,mах]
function getRandomNumber(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
// неповторяющаяся последовательность случайных чисед
function randomSequence(min, max, howMuch) {
    
    // массив в который складываются числа
    let numbers = [];
    // пока длина массива не равна требуемой длине последовательности
    while ( numbers.length !== howMuch ) {
        
        // получаем случайное число
        let number = getRandomNumber(min, max);
        
        // если число найдено в последовательности 
        // то переходим на следующую итерацию
        // так как  в последовательности  нам не нужны повторяющиеся значения
        if (-1 !== numbers.indexOf(number)) {
        } else numbers.push(number); // если значение еще нет добавляем его в массив
    }
    
    return numbers;
}
    
    Вызов:
let seq = randomSequence(1,100,7);
console.log(seq);
    
    Таким образом, с помощью данного скрипта на JavaScirpt можно сгенерировать последовательность чисел в заданном диапазоне, причем так, чтобы эти числа не повторялись.
- 
					Создано 01.10.2019 08:00:01  
- 
					 Михаил Русаков Михаил Русаков
 
			 
			 
		 
				 
			 
				 
				 
				 
				
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.