Método 1: Elemento aleatório de uma matriz usando matemática.Random () e matemática.chão()
Primeiro, crie uma matriz com a seguinte linha:
my_arr = ["Paris", "Londres", "Bangkok", "Nova York", "Los Angeles", "Dubai"];
Esta matriz representa uma lista de cidades para escolher aleatoriamente. Depois disso, basta criar uma nova função que abre a matriz como um parâmetro como:
função eleMenet_selector (arr)
Dentro dessa função, a primeira coisa é obter a duração da matriz a ela dentro de uma variável separada:
Array_length = arr.comprimento;
Então, basta ligar para a matemática.Random () Método para obter um valor de ponto flutuante e, em seguida, multiplique esse número com o comprimento da matriz para obter o intervalo entre 0 e o comprimento da matriz:
valor = matemática.aleatoriamente () * array_length;
Essa linha retornará valores de ponto flutuante, mas eles não são bons quando se trata de ser o índice de uma matriz. Confirme isso simplesmente envolvendo essa linha no log do console e observando a saída:
console.log (valor)
A saída no terminal é como:
Para transformar esses valores em um número inteiro, simplesmente passe o valor variável na matemática.Método do piso () e remova o console.Linha de log (valor):
IndexValue = Math.piso (valor)
No final da função, use uma declaração de retorno e devolva o elemento no IndexValue da matriz:
retornar arr [indexValue];
Depois disso, saia da função Element_Selector, e faça uma chamada para esta função e envolva que chama dentro de uma função de log do console para imprimir o elemento selecionado aleatoriamente:
console.log (elemenet_selector (my_arr));
O trecho de código completo é como:
my_arr = ["Paris", "Londres", "Bangkok", "Nova York", "Los Angeles", "Dubai"];
função eleMenet_selector (arr)
Array_length = arr.comprimento;
valor = matemática.aleatoriamente () * array_length;
IndexValue = Math.piso (valor);
retornar arr [indexValue];
console.log (elemenet_selector (my_arr));
Execute este programa e observe o seguinte resultado:
Fica claro na saída que os elementos aleatórios são selecionados da matriz.
Método 2: Usando o operador duplo não bit netwise
Comece criando uma matriz, como no método 1, com a ajuda da seguinte linha:
my_arr = ["Paris", "Londres", "Bangkok", "Nova York", "Los Angeles", "Dubai"];
Depois, ligue para a matemática.Random () e múltiplo com o comprimento de nossa matriz para obter um intervalo de 0 ao comprimento:
valor = matemática.aleatoriamente () * my_arr.comprimento;
Desta vez, para converter esse valor em um número inteiro que representa o índice da matriz, basta aplicar o operador duplo não bit netwise, que é o operador duplo de tilde (~~), e buscar o valor da matriz como:
var item = my_arr [~~ valor];
Por fim, basta imprimir o elemento selecionado aleatoriamente no terminal com a ajuda da função de log do console:
console.log (item);
Snippet de código completo para o método 2 é como:
my_arr = ["Paris", "Londres", "Bangkok", "Nova York", "Los Angeles", "Dubai"];
valor = matemática.aleatoriamente () * my_arr.comprimento;
var item = my_arr [~~ valor];
console.log (item);
Execute este programa e observe o seguinte resultado:
Fica claro na saída que um elemento aleatório está sendo selecionado da matriz
Conclusão
Em JavaScript, podemos utilizar o Matemática.aleatório() função com o Matemática.chão() função ou o Operador duplo não bit new Para buscar um item aleatório de uma matriz. Matemática.Random (), quando multiplicado pelo comprimento da matriz, fornece um valor de índice de intervalo entre zero e o comprimento da matriz. No entanto, esse valor de intervalo está em ponto flutuante, portanto, use Matemática.chão() ou Operadores não bitwise para convertê -lo em um número inteiro para ser usado como índice de matriz. Este artigo explicou esses dois métodos, juntamente com um exemplo