Stack Overflow em Português Asked by Elias Oliveira on November 30, 2021
Opa galera, sou novo tanto no stackoverflow quanto no mundo do JS!
Seguinte, eu estou tendo dificuldades em fazer um script que escolha uma string dentro de um array
escrevi o código da seguinte forma:
let choices = ['a', 'b', 'c']
Math.floor(choices)
e retorna not a number o que é perfeitamente entendível, já que os valores do array são strings, mas como
havia dito sou novo no mundo do JS e não sei se o método Math é o melhor para a tarefa, o mesmo script
em python seria muito mais simples:
import random
choices = ['a', 'b', 'c']
random.choice(choises)
Gostaria de saber se os senhores(a) teriam alguma sugestão de método no JS que retornasse o valor como no
código em pythom. Desde já grato!
Pode usar uma função
let choices = ['a', 'b', 'c'];
function rand(choices) {
console.log(choices[~~(choices.length * Math.random())]);
}
rand(choices);
Answered by user60252 on November 30, 2021
Poderia implementar da seguinte maneira:
choices[Math.floor((Math.random() * choices.length))]
Answered by Danizavtz on November 30, 2021
Bom, a abordagem pro teu problema é bem simples. Em JS, recomendo você gerar um número aleatório de 0 até o tamanho da sua array com o array.length, e depois acessar um indice aleatório com esse mesmo número gerado. Ficaria assim:
let choices = ['a', 'b', 'c']
let tamanho_array = choices.length
let n_aleatorio = Math.floor(Math.random() * tamanho_array);
let retorno_aleatorio = choices[n_aleatorio]
Assim, a variável retorno_aleatório vai ter teu valor random.
Answered by placementw on November 30, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP