TypeScript

Sum / Mean / Median (numeric arrays)

admin by @admin ADMIN
5d ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
The descriptive-stat trio for number[]. Median sorts a copy so the input is left alone. Empty input returns 0 / 0 / 0 rather than NaN — opinionated, but predictable.
TypeScript
Raw
export const sum  = (xs: readonly number[]): number => xs.reduce((a, b) => a + b, 0);
export const mean = (xs: readonly number[]): number => xs.length ? sum(xs) / xs.length : 0;

export function median(xs: readonly number[]): number {
  if (xs.length === 0) return 0;
  const s = [...xs].sort((a, b) => a - b);
  const m = Math.floor(s.length / 2);
  return s.length % 2 ? s[m]! : (s[m - 1]! + s[m]!) / 2;
}

sum([1, 2, 3, 4]);       // 10
mean([1, 2, 3, 4]);      // 2.5
median([1, 3, 8, 4, 2]); // 3
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.