mean.js 453 B

12345678910111213141516171819202122232425
  1. import number from "./number";
  2. export default function(values, valueof) {
  3. var n = values.length,
  4. m = n,
  5. i = -1,
  6. value,
  7. sum = 0;
  8. if (valueof == null) {
  9. while (++i < n) {
  10. if (!isNaN(value = number(values[i]))) sum += value;
  11. else --m;
  12. }
  13. }
  14. else {
  15. while (++i < n) {
  16. if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;
  17. else --m;
  18. }
  19. }
  20. if (m) return sum / m;
  21. }