30秒学会 JavaScript 片段 · 2018年6月21日

30秒学会 JavaScript 片段 – median

Returns the median of an array of numbers.

Find the middle of the array, use Array.prototype.sort() to sort the values.
Return the number at the midpoint if length is odd, otherwise the average of the two middle numbers.

代码片段

const median = arr => {
  const mid = Math.floor(arr.length / 2),
    nums = [...arr].sort((a, b) => a - b);
  return arr.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
};

使用样例

median([5, 6, 50, 1, -5]); // 5