From dabfb64ac6f6d1bea502097e7d260ce068ce06da Mon Sep 17 00:00:00 2001 From: wassname Date: Sat, 1 Dec 2018 16:54:16 +0800 Subject: [PATCH] make class --- src/js/utils.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/js/utils.js b/src/js/utils.js index fbf2ccd..7a50b1b 100644 --- a/src/js/utils.js +++ b/src/js/utils.js @@ -4,4 +4,29 @@ function deg2rad(deg) { return deg / 180 * Math.PI } -module.exports = {deg2rad, randf} + +class MovingAverage{ + constructor(N) { + this.N = N + this.buffer = [] + } + add(val) { + if (this.buffer.length > this.N) this.buffer.splice(0, 1) + this.buffer.push(val) + } + mean() { + return mean(this.buffer) + } +} + + +function mean(array){ + if (array.length == 0) + return null; + var sum = array.reduce(function(a, b) { return a + b; }); + var avg = sum / array.length; + return avg; +} + + +module.exports = {deg2rad, randf, MovingAverage, mean}