2.3 KiB
id | title | challengeType | videoUrl | forumTopicId | dashedName |
---|---|---|---|---|---|
cf1111c1c12feddfaeb1bdef | Genera números enteros aleatorios con JavaScript | 1 | https://scrimba.com/c/cRn6bfr | 18186 | generate-random-whole-numbers-with-javascript |
--description--
Es genial que podamos generar números decimales aleatorios, pero es incluso más útil si lo usamos para generar números enteros aleatorios.
- Usa
Math.random()
para generar un decimal aleatorio. - Multiplica ese decimal aleatorio por
20
. - Utiliza otra función,
Math.floor()
para redondear el número hacia abajo a su número entero más cercano.
Recuerda que Math.random()
nunca devolverá un 1
y porque estamos redondeando hacia abajo, es imposible obtener 20
. Esta técnica nos dará un número entero entre 0
y 19
.
Poniendo todo junto, así es como se ve nuestro código:
Math.floor(Math.random() * 20);
Estamos llamando a Math.random()
, multiplicando el resultado por 20 y pasando el valor a la función Math.floor()
para redondear el valor hacia abajo al número entero más cercano.
--instructions--
Utiliza esta técnica para generar y devolver un número entero aleatorio entre 0
y 9
.
--hints--
El resultado de randomWholeNum
debe ser un número entero.
assert(
typeof randomWholeNum() === 'number' &&
(function () {
var r = randomWholeNum();
return Math.floor(r) === r;
})()
);
Debes usar Math.random
para generar un número aleatorio.
assert(code.match(/Math.random/g).length >= 1);
Debes haber multiplicado el resultado de Math.random
por 10 para convertirlo en un número entre cero y nueve.
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)
);
Debes usar Math.floor
para eliminar la parte decimal del 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);
}