हमें एक फ़ंक्शन लिखना है, मान लीजिए calculator() जो चार वर्णों (+, -, *, /) में से एक को पहले आर्गुमेंट के रूप में लेता है और उसके बाद कितने भी नंबर लिटरल्स। हमारा काम पहले आर्गुमेंट के रूप में निर्दिष्ट ऑपरेशन को उन नंबरों पर करना है और परिणाम लौटाना है।
यदि ऑपरेशन गुणा या जोड़ है, तो हमें हर तत्व के साथ वही ऑपरेशन करना आवश्यक है। लेकिन यदि ऑपरेशन घटाव या भाग है, तो हमें पहले तत्व को न्यूट्रल मानना होगा और अन्य सभी तत्वों को उससे घटाना होगा या उससे विभाजित करना होगा, ऑपरेशन के आधार पर।
इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखते हैं -
उदाहरण
const calculator = (operation, ...numbers) => { const legend = '+-*/'; const ind = legend.indexOf(operation); return numbers.reduce((acc, val) => { switch(operation){ case '+': return acc+val; case '-': return acc-val; case '*': return acc*val; case '/': return acc/val; }; }); }; console.log(calculator('+', 12, 45, 21, 12, 6)); console.log(calculator('-', 89, 45, 21, 12, 6)); console.log(calculator('*', 12, 45, 21, 12, 6)); console.log(calculator('/', 189000, 45, 7, 12, 4));आउटपुट
कंसोल में आउटपुट होगा -
96 5 816480 12.5