การใช้งาน Math Object ใน JavaScript
ใน JavaScript, Math Object ไม่ใช่ Class หรือ Constructor แต่เป็น Object ที่มี Properties และ Methods สำหรับการคำนวณทางคณิตศาสตร์ต่างๆ เราสามารถเรียกใช้งาน Methods เหล่านี้ได้โดยตรงจาก Math Object โดยไม่ต้องสร้าง Instance ใหม่
Math.random()
Math.random() เป็น Method ที่ใช้สำหรับสร้างเลขสุ่ม (random number) ตั้งแต่ 0 (inclusive) ถึง 1 (exclusive) นั่นคือ เลขที่ได้จะเป็น 0 หรือมากกว่า แต่ต้องน้อยกว่า 1 เสมอ
// สร้างเลขสุ่มระหว่าง 0 ถึง 1
let randomNumber = Math.random();
console.log(randomNumber); // ตัวอย่าง: 0.56789123456789
การนำไปใช้งาน:
- การสุ่มค่าในช่วงที่ต้องการ: หากต้องการสุ่มค่าในช่วงที่กำหนด เช่น สุ่มเลขระหว่าง 1 ถึง 10 สามารถทำได้ดังนี้:
// สุ่มเลขระหว่าง 1 ถึง 10 (รวม 1 และ 10)
let min = 1;
let max = 10;
let randomNumberInRange = Math.floor(Math.random() * (max - min + 1)) + min;
console.log(randomNumberInRange); // ตัวอย่าง: 7
คำอธิบาย:
Math.random() * (max - min + 1): สร้างเลขสุ่มในช่วงตั้งแต่ 0 ถึง(max - min + 1)(exclusive)Math.floor(...): ปัดเศษลง เพื่อให้ได้เลขจำนวนเต็ม+ min: บวกค่าต่ำสุด (min) เข้าไป เพื่อให้ได้เลขสุ่มในช่วงที่ต้องการ
- การสุ่มเลือก Element จาก Array: สามารถใช้
Math.random()ร่วมกับArrayเพื่อสุ่มเลือก Element ใน Array ได้
let myArray = ['apple', 'banana', 'cherry', 'date'];
let randomIndex = Math.floor(Math.random() * myArray.length);
let randomElement = myArray[randomIndex];
console.log(randomElement); // ตัวอย่าง: banana
Math.floor(), Math.ceil(), Math.round()
Methods เหล่านี้ใช้สำหรับการปัดเศษตัวเลข:
Math.floor(x): ปัดเศษxลง (floor) ไปยังจำนวนเต็มที่ใกล้เคียงที่สุดที่น้อยกว่าหรือเท่ากับxMath.ceil(x): ปัดเศษxขึ้น (ceiling) ไปยังจำนวนเต็มที่ใกล้เคียงที่สุดที่มากกว่าหรือเท่ากับxMath.round(x): ปัดเศษxไปยังจำนวนเต็มที่ใกล้เคียงที่สุด (ปัดขึ้นถ้าเศษมากกว่าหรือเท่ากับ 0.5, ปัดลงถ้าน้อยกว่า)
console.log(Math.floor(4.9)); // Output: 4
console.log(Math.ceil(4.1)); // Output: 5
console.log(Math.round(4.4)); // Output: 4
console.log(Math.round(4.5)); // Output: 5
การนำไปใช้งาน:
- การแปลงค่าเป็นจำนวนเต็ม:
Math.floor()และMath.ceil()มักใช้ในการแปลงค่าทศนิยมเป็นจำนวนเต็ม - การคำนวณจำนวนหน้า: ในการแบ่งข้อมูลเป็นหน้าๆ (pagination),
Math.ceil()มักถูกใช้เพื่อคำนวณจำนวนหน้าทั้งหมด - การปรับค่าให้เป็นจำนวนเต็มที่ใกล้เคียงที่สุด:
Math.round()ใช้เมื่อต้องการค่าจำนวนเต็มที่ใกล้เคียงที่สุด
Math.pow(), Math.sqrt()
Methods เหล่านี้ใช้สำหรับการคำนวณยกกำลังและหารากที่สอง:
Math.pow(x, y): ยกกำลังxด้วยy(xy)Math.sqrt(x): หารากที่สองของx(√x)
console.log(Math.pow(2, 3)); // Output: 8 (2 ยกกำลัง 3)
console.log(Math.sqrt(16)); // Output: 4 (รากที่สองของ 16)
การนำไปใช้งาน:
- การคำนวณพื้นที่และปริมาตร:
Math.pow()ใช้ในการคำนวณพื้นที่ของสี่เหลี่ยมจัตุรัส (ด้าน2) หรือปริมาตรของลูกบาศก์ (ด้าน3) - การคำนวณระยะทาง:
Math.sqrt()ใช้ในการคำนวณระยะทางระหว่างจุดสองจุดในระนาบ (Euclidean distance) - การคำนวณทางวิทยาศาสตร์และวิศวกรรม: Methods เหล่านี้ถูกใช้ในงานคำนวณที่ซับซ้อน เช่น การคำนวณทางฟิสิกส์หรือการประมวลผลสัญญาณ
ตัวอย่างการใช้งาน Math Object แบบผสมผสาน
สมมติว่าเราต้องการสร้างฟังก์ชันที่สุ่มเลขจำนวนเต็มในช่วงที่กำหนด และคำนวณรากที่สองของเลขนั้น:
function getRandomIntAndSqrt(min, max) {
// สุ่มเลขจำนวนเต็มในช่วง min ถึง max
let randomInt = Math.floor(Math.random() * (max - min + 1)) + min;
// คำนวณรากที่สองของเลขสุ่ม
let sqrtValue = Math.sqrt(randomInt);
return {
integer: randomInt,
squareRoot: sqrtValue
};
}
// เรียกใช้งานฟังก์ชัน
let result = getRandomIntAndSqrt(1, 25);
console.log("Random Integer:", result.integer); // ตัวอย่าง: 12
console.log("Square Root:", result.squareRoot); // ตัวอย่าง: 3.4641016151377544
สรุป
Math Object ใน JavaScript เป็นเครื่องมือที่มีประโยชน์สำหรับการคำนวณทางคณิตศาสตร์พื้นฐานต่างๆ Methods เช่น Math.random(), Math.floor(), Math.ceil(), Math.round(), Math.pow(), และ Math.sqrt() สามารถนำไปประยุกต์ใช้ในงานต่างๆ ได้อย่างหลากหลาย ตั้งแต่การสร้างเลขสุ่มไปจนถึงการคำนวณทางวิทยาศาสตร์และวิศวกรรม การเข้าใจและใช้งาน Math Object อย่างถูกต้อง จะช่วยให้คุณสามารถเขียนโปรแกรมที่ซับซ้อนและมีประสิทธิภาพมากยิ่งขึ้น