Files
freeCodeCamp/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript.md
2022-08-19 20:53:29 +02:00

2.4 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
cf1111c1c12feddfaeb1bdef Zufällige Ganzzahlen mit JavaScript generieren 1 https://scrimba.com/c/cRn6bfr 18186 generate-random-whole-numbers-with-javascript

--description--

Es ist großartig, dass wir zufällige Dezimalzahlen generieren können, aber es ist noch nützlicher, wenn wir es nutzen, um zufällige ganze Zahlen zu generieren.

  1. Verwende Math.random(), um eine zufällige Dezimalzahl zu erzeugen.
  2. Multipliziere diese zufällige Dezimalzahl mit 20.
  3. Verwende eine andere Funktion, Math.floor(), um die Zahl auf die nächste ganze Zahl abzurunden.

Denke daran, dass Math.random() niemals eine 1 zurückgeben kann und weil wir abrunden, ist es unmöglich, tatsächlich 20 zu erhalten. Diese Technik liefert uns eine ganze Zahl zwischen 0 und 19.

Alles zusammengenommen sieht unser Code folgendermaßen aus:

Math.floor(Math.random() * 20);

Wir rufen Math.random() auf, multiplizieren das Ergebnis mit 20 und übergeben den Wert dann an die Funktion Math.floor(), um den Wert auf die nächste ganze Zahl abzurunden.

--instructions--

Verwende diese Technik, um eine zufällige ganze Zahl zwischen 0 und 9 zu erzeugen und zurückzugeben.

--hints--

Das Ergebnis von randomWholeNum sollte eine ganze Zahl sein.

assert(
  typeof randomWholeNum() === 'number' &&
    (function () {
      var r = randomWholeNum();
      return Math.floor(r) === r;
    })()
);

Du solltest Math.random verwenden, um eine Zufallszahl zu erzeugen.

assert(code.match(/Math.random/g).length >= 1);

Du solltest das Ergebnis von Math.random mit 10 multiplizieren, damit es eine Zahl zwischen null und neun ergibt.

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)
);

Du solltest Math.floor verwenden, um den Dezimalteil der Zahl zu entfernen.

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);
}