Como selecionar um item aleatório de array em JavaScript

Neste artigo você vai aprender a como selecionar um item aleatório de array em JavaScript, utilizando apenas JS puro!

selecionar um item aleatório de array capa

Fala programador(a), beleza? Bora aprender mais sobre aleatoriedade, arrays e também JavaScript!

Para realizar a função de extrair um item aleatório de um array, vamos utilizar algumas funções de Math

Math é uma biblioteca de JS para funções matemáticas

Os métodos serão:

  • random: para resgatar um número aleatório do array;
  • floor: para arredondar o número de random, que vem em float;
Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 120 aulas
  • 4 projetos
  • 9h 45min

Estes dois métodos serão utilizados em conjunto de length do array

Ou seja, o número aleatório máximo é condicionado pelo tamanho do array

Veja um exemplo prático da situação:

const arr = [1, 2, 3, 4, 5, 6];

const item = arr[Math.floor(Math.random() * arr.length)];

console.log(item);

Veja que criamos uma variável com um array e depois aplicamos o código explicado anteriormente

O resultado de item é um elemento aleatório do array da variável arr!

Conclusão

Neste artigo você aprendeu a como selecionar um item aleatório de array em JS

Utilizamos algumas funções de Math para atingir o objetivo, uma parar gerar aleatoriedade (random) e outra para arredondar o número gerado (floor)

O número aleatório é baseado na quantidade de elementos do array (length)

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!

Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias

O link acima contém um cupom de desconto para os cursos!

Bloco curto mostrando como empacotar a lógica numa função pra reaproveitar em qualquer array

Explica o PORQUÊ antes: se tu vai pegar item aleatório em vários lugares do código, não faz sentido repetir a mesma linha toda hora

Código:

function itemAleatorio(array) { }

console.log(itemAleatorio(frutas));

Agora é só chamar itemAleatorio() passando qualquer array e tu recebe um elemento sorteado de volta, bem mais limpo

Responde a variação mais comum da mesma busca: pegar mais de um item aleatório sem que venha repetido

Explica a ideia antes do código: a gente embaralha o array e corta os primeiros N elementos, assim nenhum se repete

Código:

const tresItens = embaralhado.slice(0, 3);

console.log(tresItens);

Auto-interrupção pra tirar a dúvida clássica: Math.random() devolve um número quebrado entre 0 e 1 (tipo 0.734), e índice de array não existe quebrado

Multiplicando pelo length a gente espalha esse número na faixa do array, e o floor arredonda pra baixo pra virar um índice inteiro válido

Pergunta:

Pergunta: ‘Math.random() repete número?’ Resposta: pode repetir sim, ele é pseudoaleatório e cada chamada é independente, então em sorteios seguidos um item pode cair de novo

Pergunta: ‘Funciona com array de objetos?’ Resposta: funciona igual, o índice sorteado devolve o objeto inteiro, aí é só acessar a propriedade que tu quer

Leia também

Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares