UNPKG

d2-ui

Version:
34 lines (29 loc) 540 B
import number from "./number"; export default function(array, f) { var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0; if (f == null) { while (++i < n) { if (!isNaN(a = number(array[i]))) { d = a - m; m += d / ++j; s += d * (a - m); } } } else { while (++i < n) { if (!isNaN(a = number(f(array[i], i, array)))) { d = a - m; m += d / ++j; s += d * (a - m); } } } if (j > 1) return s / (j - 1); }