MCPcopy Create free account
hub / github.com/Openpanel-dev/openpanel / average

Function average

packages/common/src/math.ts:8–18  ·  view source on GitHub ↗
(arr: (number | null)[], includeZero = false)

Source from the content-addressed store, hash-verified

6};
7
8export const average = (arr: (number | null)[], includeZero = false) => {
9 const filtered = arr.filter(
10 (n): n is number =>
11 isNumber(n) &&
12 !Number.isNaN(n) &&
13 Number.isFinite(n) &&
14 (includeZero || n !== 0),
15 );
16 const avg = filtered.reduce((p, c) => p + c, 0) / filtered.length;
17 return Number.isNaN(avg) ? 0 : avg;
18};
19
20export const sum = (arr: (number | null | undefined)[]): number =>
21 round(arr.filter(isNumber).reduce((acc, item) => acc + item, 0));

Callers 5

formatFunction · 0.90
SummaryFunction · 0.90
ChartFunction · 0.90
ChartFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected