freeCodeCamp/curriculum/challenges/espanol/02-javascript-algorithms-an.../basic-javascript/generate-random-whole-numbe...

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.

  1. Usa Math.random() para generar un decimal aleatorio.
  2. Multiplica ese decimal aleatorio por 20.
  3. 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);
}