median - 获取数字数组的中值

优质
小牛编辑
135浏览
2023-12-01

返回数字数组的中值。

找到数字数组的中间值,使用 Array.sort() 对值进行排序。 如果 length 是奇数,则返回中间值数字,否则返回两个中间值数值的平均值。

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