เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของ Numbers และคืนค่ามัธยฐาน
ความหมายทางสถิติของค่ามัธยฐาน
ค่ามัธยฐานคือตัวเลขตรงกลางในรายการตัวเลขที่เรียงลำดับ จากน้อยไปมาก หรือจากมากไปน้อย และสามารถอธิบายชุดข้อมูลนั้นได้มากกว่าค่าเฉลี่ย
แนวทาง
ขั้นแรก เราจะจัดเรียงอาร์เรย์ ถ้าขนาดของอาร์เรย์เป็นเลขคู่ เราจะต้องใช้ตรรกะเพิ่มเติมเพื่อจัดการกับตัวเลขตรงกลางสองตัว
ในกรณีเหล่านี้ เราจะต้องคืนค่าค่าเฉลี่ยของตัวเลขสองตัวนั้น
ตัวอย่าง
const arr = [4, 6, 2, 45, 2, 78, 5, 89, 34, 6]; const findMedian = (arr = []) => { const sorted = arr.slice().sort((a, b) => { return a - b; }); if(sorted.length % 2 === 0){ const first = sorted[sorted.length / 2 - 1]; const second = sorted[sorted.length / 2]; return (first + second) / 2; } else{ const mid = Math.floor(sorted.length / 2); return sorted[mid]; }; }; console.log(findMedian(arr));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
6