เราจำเป็นต้องเขียนฟังก์ชันแฟกทอเรียล JavaScript ที่รับความช่วยเหลือจากฟังก์ชันตัวช่วยอื่น range()
ฟังก์ชัน range ควรเตรียมช่วงของตัวเลขตั้งแต่ 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