เราจำเป็นต้องเขียนฟังก์ชัน 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