Skip to content

Instantly share code, notes, and snippets.

@raymyers
Created February 14, 2020 16:15
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save raymyers/44807526ca4fdf6d8db1a7d545c7e2c8 to your computer and use it in GitHub Desktop.
Save raymyers/44807526ca4fdf6d8db1a7d545c7e2c8 to your computer and use it in GitHub Desktop.
Trimmed Mean and Median in ES6.
const mean = (values) => {
let sum = values.reduce((previous, current) => current += previous);
return sum / values.length;
};
const median = (arr) => {
const mid = Math.floor(arr.length / 2);
const sorted = [...arr].sort((a, b) => a - b);
return arr.length % 2 == 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid];
};
const trimmedMean = (values, trimAmount) => {
var trimCount = Math.floor(trimAmount*values.length);
return mean(values.sort((a, b) => a - b).slice(trimCount, values.length-trimCount));
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment