tamda
Version:
Practical functional programming library for TypeScript
23 lines • 671 B
JavaScript
import { infer } from '../function/infer';
import { sort } from '../list/sort';
export function median() {
return inferred.apply(undefined, arguments);
}
const inferred = infer((array) => {
const sorted = sort(array);
const odd = sorted.length % 2;
return odd ? middle(sorted) : middleMean(sorted);
});
function middleLeft(array) {
return array[array.length / 2 - 1];
}
function middleRight(array) {
return array[array.length / 2];
}
function middleMean(array) {
return (middleLeft(array) + middleRight(array)) / 2;
}
function middle(array) {
return array[(array.length - 1) / 2];
}
//# sourceMappingURL=median.js.map