UNPKG

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
"use strict"; 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;