เราต้องเขียนฟังก์ชัน เช่น เครื่องคิดเลข () ที่ใช้หนึ่งในสี่อักขระ (+, - , *, / ) เป็นอาร์กิวเมนต์แรกและจำนวนตามตัวอักษรจำนวนเท่าใดก็ได้หลังจากนั้น งานของเราคือดำเนินการตามที่ระบุเป็นอาร์กิวเมนต์แรกเหนือตัวเลขเหล่านั้นและส่งคืนผลลัพธ์
หากการดำเนินการเป็นการคูณหรือบวก เราจำเป็นต้องดำเนินการแบบเดียวกันด้วยทุกองค์ประกอบ แต่ถ้าการดำเนินการเป็นการลบหรือการหาร เราต้องถือว่าองค์ประกอบแรกเป็นกลางและลบองค์ประกอบอื่นๆ ทั้งหมดออกหรือหารด้วยองค์ประกอบอื่นๆ ทั้งหมดตามการดำเนินการ
ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
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