हमें एक जावास्क्रिप्ट फैक्टोरियल फ़ंक्शन लिखना है जो एक अन्य सहायक फ़ंक्शन, 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