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

JavaScriptでreduceとrangeを使用して階乗関数を作成するにはどうすればよいですか?


別のヘルパー関数range()を利用するJavaScript階乗関数を作成する必要があります。

範囲関数は、1から入力番号までの範囲の数値を準備する必要があります。次に、メイン関数は、範囲配列に対してArray.prototype.reduce()関数を実行して、階乗を計算する必要があります

このためのコードは-

になります
const range = (start, end) => {
   const acc = [];
   for (var i = start; i < end; i++) {
      acc.push(i);
   };
   return acc;
}
const factorial = n => {
   let factors = range(1, Math.abs(n)+1);
   let res = factors.reduce((acc,val) => {
      return acc * val;
   }, 1);
   if(n < 0){
      res *= -1;
   };
   return res;
};
console.log(factorial(5));

出力

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

になります
120

  1. JavaScriptでキャンバスに描画する方法は?

    HTMLキャンバスへの描画は、JavaScriptを使用して行います。キャンバスに描画する前に、HTML DOMメソッドgetElementById()およびgetContext()を使用してください。 そのためには、いくつかの手順に従います- キャンバス要素を見つけるには、getElementById()メソッドを使用する必要があります。 キャンバスの描画オブジェクトであるgetContext()を使用します。描画のメソッドとプロパティを提供します。 その後、キャンバスに描画します。 例 次のコードを実行して、JavaScriptでキャンバスを描画してみてください- <!D

  2. CSSとJavaScriptを使用してカスタム範囲スライダーを作成するにはどうすればよいですか?

    CSSとJavaScriptを使用してカスタム範囲スライダーを作成するには、コードは次のとおりです- 例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>    .slidecontainer {       width: 100%;    }   &