Com o npm instalado no seu computador digite: npm i randomicsjs
No seu Javascript:
const randomics = require('randomicsjs')
const { basic, choice, choices, probs, shuffle } = randomics
Ao todo são 5 métodos:
Retorna um número entre min e max.
min (número): número mínimo
max (número): número máximo
inclusive (bool, default=false): define se inclui o número máximo no sorteio, se true, retorna um número entre min e max, incluindo o máximo.
rand.basic(1,10) // Pode retornar um número inteiro de 1 a 9. Nunca retornará 10.
rand.basic(1,10,true) // Pode retornar um número inteiro de um a dez. Pode retornar 10.
Retorna um item (ou mais) sorteado de uma coleção.
collection (list): fonte de dados a ser sorteada.
t (número, default=1): define quantos resultados serão retornados, ou seja, quantos sorteios serão feitos.
repeat (bool,default=true): define se os itens sorteados poderão ser repetidos no resultado, caso t > 1.
let lista = ['maçã','banana','melancia','batata','tomate']
rand.choice(lista), // Pode retornar : 'batata'
rand.choice(lista,3), // Pode retornar: ['tomate','banana','tomate']
rand.choice(lista,3,false) // Pode retornar: ['tomate','banana','melancia'] Nunca retonará o array acima.
Se t > 1, uma lista é retornada, com os múltiplos resultados. Se não, um item da coleção é retornado.
t não pode ser maior do que collection.length, se repeat = false.
Retorna um item (ou mais) sorteado de uma coleção. Baseado nas probabilidades passadas.
collection (list): fonte de dados a ser sorteada.
weight (list): Uma lista de números, que representa as chances de cada item ser sorteado respectivamente.
t (número, default=1): define quantos resultados serão retornados, ou seja, quantos sorteios serão feitos.
repeat (bool,default=true): define se os itens sorteados poderão ser repetidos no resultado, caso t > 1.
let lista = ['Carro','Avião','Barco']
rand.choices(lista,[1,2,1])//'Avião tem 2x mais chances de ser escolhido.'
Se t > 1, uma lista é retornada, com os múltiplos resultados. Se não, um item da coleção é retornado. O t não pode ser maior do que collection.length, se repeat = false. _Weight deve ter o mesmo tamanho da coleção.
Retorna a chance (em um número decimal) de cada elemento de uma coleção ser sorteado. Analisando repetições.
collection (list): Uma lista a ser analisada.
let lista = ['Carro','Avião','Avião','Barco']
rand.probs(lista)//Retorna uma lista de listas, com o item e sua chance de ser sorteado: [["Avião", 0.5]["Carro", 0.25]["Barco", 0.25]]
Embaralha uma lista. Muda a posição dos elementos aleatoriamente.
collection (lista): Lista a ser embaralhada.
let lista = ['maçã','banana','melancia','batata','tomate','Carro','Avião','Avião','Barco']
rand.shuflle(lista) // Pode retornar ["batata", "Carro", "Avião", "maçã", "banana", "Avião", "melancia", "Barco", "tomate"]
Fique à vontade em colaborar com sugestões ou correção de erros. ;)