@aegenet/belt-array-stats
TypeScript icon, indicating that this package has built-in type declarations

1.5.0 • Public • Published

npm version

@aegenet/belt-array-stats

Stats from array.

💾 Installation

yarn add @aegenet/belt-array-stats@^1.4.0
# or
npm i @aegenet/belt-array-stats@^1.4.0

📝 Usage

getAverage

import { getAverage } from '@aegenet/belt-array-stats';

const results = getAverage([1, 1, 2, 2]);
// results = 1.5

getMedian

import { getMedian } from '@aegenet/belt-array-stats';

const results = getMedian([1, 1, 2]);
// results = 1
const results = getMedian([1, 1, 2, 3, 4, 4], { sorted: true });
// results = 2.5

getClosestNumber

import { getClosestNumber } from '@aegenet/belt-array-stats';

getClosestNumber(1, [1, 2]); // 1
getClosestNumber(2, [1, 2]); // 2
getClosestNumber(2, [1, 2, 3]); // 2
getClosestNumber(2, [1, 2, 2, 3]); // 2
getClosestNumber(2, [3, 1, 2, 2]); // 2

getClosestNumber(0, [1, 2]); // 1
getClosestNumber(3, [1, 2]); // 2
getClosestNumber(13, [1, 2]); // 2

getClosestValue

import { getClosestValue } from '@aegenet/belt-array-stats';

const reducer = (value: { value: number }, a: { value: number }, b: { value: number }) => {
  const aDiff = Math.abs(a.value - value.value);
  const bDiff = Math.abs(b.value - value.value);

  if (aDiff === bDiff) {
    return a.value > b.value ? a : b;
  } else {
    return bDiff < aDiff ? b : a;
  }
};

getClosestValue<{ value: number }>(
  { value: 1 },
  [{ value: 1 }, { value: 2 }],
  reducer
);
// { value: 1 }

/@aegenet/belt-array-stats/

    Package Sidebar

    Install

    npm i @aegenet/belt-array-stats

    Weekly Downloads

    1

    Version

    1.5.0

    License

    MIT

    Unpacked Size

    9.02 kB

    Total Files

    7

    Last publish

    Collaborators

    • agenet