Ограниченная псевдослучайная последовательность неповторяющихся чисел в 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 можно сгенерировать последовательность чисел в заданном диапазоне, причем так, чтобы эти числа не повторялись.


Телеграм: t.me/ainewsline

Источник: myrusakov.ru

Комментарии: