Olá galera :) Alguém poderia me explicar esta parte do código?
- var sorteia = function(max) {
- return Math.floor(Math.random() * max);
- }
Eu não entendi ...
Olá galera :) Alguém poderia me explicar esta parte do código?
Eu não entendi ...
Oi Nick, beleza?
Vamos lá, vou explicar linha a linha, ok?
var sorteia = function(max) {
return Math.floor(Math.random() * max);
}
Na 1ª, você está criando uma função, que precisa de uma informação pra funcionar (esse 'max').
Na 2ª, você está chamando uma função que arredonda números. Tenta depois usar Math.floor(5.46)
e vai ver que ele arredonda pra baixo (por isso o 'floor').
Dentro da Math.floor(), você está pedindo ao JS mandarum número aleatório, um número random, com a função Math.random().
O problema da Math.random() é que ela retorna algo assim: 0.07735756584831677. Por isso da multiplicação pelo 'max'.
Resumindo essa função faz o seguinte:
- Sorteie um número;
- Multiplique-o por max
(que será passado qnd chamar a função);
- Pegue esse número e o arredonde para baixo (Math.floor() );
- Me retorne o resultado disso tudo.
Espero ter ajudado e bons estudos pra você!
Abcs!
E ai Nick,
Vamos por partes.
Primeiro o número máximo (max) é passado por parâmetro.
Segundo, o método Math.random gera um número aleatório entre 0 e 1, daí ele é multiplicado pelo número máximo.
Terceiro, o método Math.floor devolve um número inteiro, caso necessário.
Suponha que saiu 0.537 e que o número max seja 60, então em outras palavras o que acontece é isso, veja:
0.537 * 60 = 32.22
Neste exemplo, será devolvido 32 e em seguida, o resultado é retornado para a função através do return.
Vendo de outra forma:
var sorteia = function(max) {
return Math.floor(Math.random() * max);
}
var sorteia = function(60) {
return Math.floor(0.537 * 60); // 32.22 -> 32
}