ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่อยู่ในคลาส Math ของ JavaScript ฟังก์ชันควรคืนค่าจำนวนเต็มที่มากกว่าหรือเท่ากับทศนิยมที่เรียก (ceiling) ถ้าตัวเลขเป็นจำนวนเต็มอยู่แล้ว คืนค่าเดิม
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const num = 234.56;
Math.ceil = function(num) {
if (typeof num !== 'number') {
return NaN;
}
if (num % 1 === 0) {
return num;
}
const [main] = String(num).split('.');
return +main + 1;
};
console.log(Math.ceil(num));
ผลลัพธ์
235
คำอธิบายเพิ่มเติม
นี่คือการ override Math.ceil() ซึ่งไม่แนะนำใน production โค้ดใช้ string manipulation แทนการคำนวณทางคณิตศาสตร์ ควรใช้ `Math.floor(num) + (num % 1 !== 0 ? 1 : 0)` หรือ `Math.ceil()` ตัวจริง