Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptのRandom7()からRandom10()関数を派生させる


問題

const random7 = () => Math.ceil(Math.random() * 7);

上記のファットアロー関数があるとします。この関数は、呼び出しを行うたびに0(排他的)から7(包括的)までの乱数を生成します。

引数をとらず、JavaScriptライブラリやサードパーティライブラリを使用しない同様のrandom10()JavaScript関数を作成する必要があります。そして、このrandom7()関数のみを使用して、この関数は0(排他的)から10(包括的)までの乱数を返す必要があります。

このためのコードは-

になります
const random7 = () => Math.ceil(Math.random() * 7);
const random10 = () => {
   let sum;
   for(let i = 0; i < 50; i++){
      sum += random7();
   }
   return (sum % 10) + 1;
};
console.log(random10());

コードの説明

ここでは、rand7()関数を使用していくつかの数値(この場合は50ですが、数値は異なる場合があります)を追加して、可能な限り均一な乱数を生成し、その合計を使用して10進数の数値を生成しました。

出力

そして、コンソールの出力は-

になります
NaN

  1. JavaScriptでの関数の借用。

    call()、apply()、bind()は、JavaScriptのメソッドを借用するために使用されます。 以下は、JavaScriptでメソッドを借用するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &

  2. JavaScriptの外部関数の内側からリスナーを削除しますか?

    外部関数からリスナーを削除するには、removeEventListener()を使用します。 例 以下はコードです- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title>