Anonymous user
Averages/Simple moving average: Difference between revisions
Edited fiddle to produce correct results.
(Edited fiddle to produce correct results.) |
|||
Line 1,897:
===Using reduce/filter===
[http://jsfiddle.net/79xe381e/ JS Fiddle]
<lang javascript>// single-sided
Array.prototype.simpleSMA=function(N) {
return this.map(
function(el,index, _arr) {
return _arr.filter(
function(x2,i2) {
return i2 <= index && i2 > index - N;
})
.reduce(
function(current, last, index, arr){
return (current + last);
})/index || 1;
});
};
g=[0,1,2,3,4,5,6,7,8,
console.log(g.simpleSMA(3));
console.log(g.simpleSMA(5))
console.log(g.simpleSMA(g.length));</lang>
{{out}}
<pre>
[
[1, 1, 1.5, 2, 2.5, 3, 3.3333333333333335, 3.5714285714285716, 3.75, 3.888888888888889, 4]
[1, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5]
</pre>
=={{header|Julia}}==
|