2.3 KiB
id | title | challengeType | videoUrl | forumTopicId | dashedName |
---|---|---|---|---|---|
cf1111c1c12feddfaeb1bdef | Gerar números inteiros aleatórios com JavaScript | 1 | https://scrimba.com/c/cRn6bfr | 18186 | generate-random-whole-numbers-with-javascript |
--description--
É ótimo podermos gerar números decimais aleatórios, mas é ainda mais útil se usarmos isso para gerar números inteiros aleatórios.
- Use
Math.random()
para gerar um decimal aleatório. - Multiplique o decimal aleatório por
20
. - Use outra função,
Math.floor()
para arredondar o número para baixo para o número inteiro mais próximo.
Lembre-se de que Math.random()
pode nunca retornar um 1
e, por estarmos arredondando, é impossível também receber 20
. Essa técnica nos dará um número inteiro entre 0
e 19
.
Juntando tudo, é assim que nosso código se parece:
Math.floor(Math.random() * 20);
Nós estamos chamando Math.random()
, multiplicando o resultado por 20, e em seguida passando o valor para a função Math.floor()
para arredondar o valor para o número inteiro mais próximo abaixo.
--instructions--
Use essa técnica para gerar e retornar um número inteiro aleatório entre 0
e 9
.
--hints--
O resultado de randomWholeNum
deve ser um número inteiro.
assert(
typeof randomWholeNum() === 'number' &&
(function () {
var r = randomWholeNum();
return Math.floor(r) === r;
})()
);
Você deve usar Math.random
para gerar um número aleatório.
assert(code.match(/Math.random/g).length >= 1);
Você deve ter multiplicado o resultado de Math.random
por 10 para torná-lo um número que está entre zero e nove.
assert(
code.match(/\s*?Math.random\s*?\(\s*?\)\s*?\*\s*?10[\D]\s*?/g) ||
code.match(/\s*?10\s*?\*\s*?Math.random\s*?\(\s*?\)\s*?/g)
);
Você deve usar Math.floor
para remover a parte decimal do número.
assert(code.match(/Math.floor/g).length >= 1);
--seed--
--after-user-code--
(function(){return randomWholeNum();})();
--seed-contents--
function randomWholeNum() {
// Only change code below this line
return Math.random();
}
--solutions--
function randomWholeNum() {
return Math.floor(Math.random() * 10);
}