Skip to content

Kikobeats/simple-average

Repository files navigation

simple-average

Last version Coverage Status NPM Status

An efficient way to calculate average.

Why?

  • Abstract the process of calculate the average in a independent module.
  • Calculate it using a efficient memory way.
  • Simple and Chainable API.

I was looking for a better solution than store all values in an array, sum all and divide for the length. This module is inspired in Daniel Bernier blog that's provide a memory efficient solution for the problem.

Install

npm install simple-average --save

Usage

First, load the library:

const simpleAverage = require('simple-average')

Then create a new instance to use:

const aggregator = simpleAverage()

Now you can add new samples to calculate the average:

aggregator.add(2)

Also you can provide a n number of values to add:

average.add(2)
average.add(2, 3, 4, 5)

Methods are chainable as well:

const resume = average.add(2).add(3).add(4).add(5).resume()
console.log(resume)
// => 3.5

API

.simpleAverage()

Create a new instance.

.reset()

Reset the current counter.

.add(values... {Number})

Add values to calculate the average. You can provide a n number of values or an array of values.

.count

Get the current number of values added for calculate the average.

.avg

Get an the current average.

License

MIT © Kiko Beats

About

Average module. An efficient way to calculate average.

Resources

License

Stars

Watchers

Forks

Packages

No packages published