Chúng ta cần viết một hàm JavaScript nhận vào một mảng các số và trả về trung vị của mảng đó.
Ý nghĩa thống kê của trung vị
Trung vị là số ở giữa trong một danh sách các số đã được sắp xếp theo thứ tự tăng dần hoặc giảm dần, và nó có thể mô tả tập dữ liệu đó tốt hơn so với trung bình cộng.
Cách tiếp cận
Trước tiên, chúng ta sẽ sắp xếp mảng. Nếu kích thước mảng là số chẵn, chúng ta cần logic bổ sung để xử lý hai số ở giữa. Trong trường hợp này, chúng ta sẽ trả về trung bình cộng của hai số đó.
Ví dụ
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));Kết quả
Kết quả hiển thị trong console sẽ là:
6