Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การคำนวณค่ามัธยฐานของอาร์เรย์ใน JavaScript

บทความนี้จะแสดงวิธีเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขและคืนค่ามัธยฐาน (median) ของข้อมูลชุดนั้น

ความหมายทางสถิติของค่ามัธยฐาน

ค่ามัธยฐานคือตัวเลขที่อยู่ตรงกลางของรายการตัวเลขที่จัดเรียงแล้ว (จากน้อยไปมากหรือมากไปน้อย) และมักอธิบายลักษณะข้อมูลได้ดีกว่าค่าเฉลี่ย (average)

แนวทางการแก้ปัญหา

ขั้นแรก ให้จัดเรียงอาร์เรย์ หากจำนวนสมาชิกเป็นเลขคู่ จะต้องมีตรรกะเพิ่มเติมเพื่อจัดการกับตัวเลขสองตัวที่อยู่ตรงกลาง โดยจะคืนค่าเฉลี่ยของสองตัวเลขนั้น

ตัวอย่างโค้ด

const arr = [4, 6, 2, 45, 2, 78, 5, 89, 34, 6];
const findMedian = (arr = []) => {
  const sorted = arr.slice().sort((a, b) => 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