Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จะเขียนฟังก์ชันแฟกทอเรียลด้วยการลดและช่วงใน JavaScript ได้อย่างไร


เราจำเป็นต้องเขียนฟังก์ชันแฟกทอเรียล 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