JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 76388
  • Score
    100M100P100Q154628F
  • License MIT

Generate random numbers that are consecutively unique

Package Exports

  • unique-random

Readme

unique-random

Generate random numbers that are consecutively unique

Useful for things like slideshows where you don't want to have the same slide twice in a row.

Install

npm install unique-random

Usage

import {consecutiveUniqueRandom} from 'unique-random';

const random = consecutiveUniqueRandom(1, 10);

console.log(random(), random(), random());
//=> 5 2 6

API

consecutiveUniqueRandom(minimum, maximum)

Generate random numbers that are consecutively unique, meaning that each number in the sequence is distinct from the one immediately before it.

exhaustiveUniqueRandom(minimum, maximum)

Generate random numbers that do not repeat until the entire range has appeared.

consecutiveUniqueRandom and exhaustiveUniqueRandom

Returns a function, that when called, will return the generated number.

The returned function is also an iterable which consumes from the same source as the function:

import {exhaustiveUniqueRandom} from 'unique-random';

const random = exhaustiveUniqueRandom(1, 10);

for (const number of random) {
    console.log(number);

    // The unique numbers will be iterated over infinitely
    if (stopCondition) {
        break;
    }
}

[!NOTE] If minimum is equal to maximum, the same value will always be returned.