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