sikits
Version:
A powerful and comprehensive utility library for JavaScript and TypeScript with 100+ functions for strings, numbers, arrays, and objects
27 lines (26 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.range = exports.mode = exports.median = exports.average = exports.sum = void 0;
const sum = (numbers) => numbers.reduce((acc, num) => acc + num, 0);
exports.sum = sum;
const average = (numbers) => (0, exports.sum)(numbers) / numbers.length;
exports.average = average;
const median = (numbers) => {
const sorted = [...numbers].sort((a, b) => a - b);
const mid = Math.floor(sorted.length / 2);
return sorted.length % 2 !== 0
? sorted[mid]
: (sorted[mid - 1] + sorted[mid]) / 2;
};
exports.median = median;
const mode = (numbers) => {
const freq = {};
numbers.forEach((num) => (freq[num] = (freq[num] || 0) + 1));
const maxFreq = Math.max(...Object.values(freq));
return Object.keys(freq)
.filter((key) => freq[Number(key)] === maxFreq)
.map(Number);
};
exports.mode = mode;
const range = (numbers) => Math.max(...numbers) - Math.min(...numbers);
exports.range = range;