Addition of the defaultValue property
This commit is contained in:
parent
cb387a8121
commit
02fa5293f2
|
|
@ -2,13 +2,13 @@
|
||||||
/*
|
/*
|
||||||
Open Rowing Monitor, https://github.com/laberning/openrowingmonitor
|
Open Rowing Monitor, https://github.com/laberning/openrowingmonitor
|
||||||
|
|
||||||
This creates a series with weights
|
This creates a series with a maximum number of values
|
||||||
It allows for determining the Average, Weighed Average, Median, Number of Positive, number of Negative
|
It allows for determining the Average, Median, Number of Positive, number of Negative
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { createSeries } from './Series.js'
|
import { createSeries } from './Series.js'
|
||||||
|
|
||||||
function createWeighedSeries (maxSeriesLength) {
|
function createWeighedSeries (maxSeriesLength, defaultValue) {
|
||||||
const dataArray = createSeries(maxSeriesLength)
|
const dataArray = createSeries(maxSeriesLength)
|
||||||
const weightArray = createSeries(maxSeriesLength)
|
const weightArray = createSeries(maxSeriesLength)
|
||||||
const weightedArray = createSeries(maxSeriesLength)
|
const weightedArray = createSeries(maxSeriesLength)
|
||||||
|
|
@ -48,14 +48,20 @@ function createWeighedSeries (maxSeriesLength) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function average () {
|
function average () {
|
||||||
return dataArray.average()
|
if (dataArray.length() > 0) {
|
||||||
|
// The series contains sufficient values to be valid
|
||||||
|
return dataArray.average()
|
||||||
|
} else {
|
||||||
|
// The array isn't sufficiently filled
|
||||||
|
return defaultValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function weighedAverage () {
|
function weighedAverage () {
|
||||||
if (dataArray.length() > 0 && weightArray.sum() !== 0) {
|
if (dataArray.length() > 0 && weightArray.sum() !== 0) {
|
||||||
return (weightedArray.sum() / weightArray.sum())
|
return (weightedArray.sum() / weightArray.sum())
|
||||||
} else {
|
} else {
|
||||||
return undefined
|
return defaultValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,6 +77,10 @@ function createWeighedSeries (maxSeriesLength) {
|
||||||
return dataArray.median()
|
return dataArray.median()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function reliable () {
|
||||||
|
return dataArray.length() > 0
|
||||||
|
}
|
||||||
|
|
||||||
function series () {
|
function series () {
|
||||||
return dataArray.series()
|
return dataArray.series()
|
||||||
}
|
}
|
||||||
|
|
@ -96,6 +106,7 @@ function createWeighedSeries (maxSeriesLength) {
|
||||||
maximum,
|
maximum,
|
||||||
median,
|
median,
|
||||||
series,
|
series,
|
||||||
|
reliable,
|
||||||
reset
|
reset
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue