Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var math = require('mathjs');
- // An array to test
- var test = [100,11234,556,.445,.556];
- /**
- * returns the geometric mean of an array
- * @param {array} datas an array on n length
- * @return {float} the geometric mean of that array
- */
- var geometricMean = function(datas) {
- var newDatas = datas.reduce(function(a, b){
- return a*b;
- });
- return math.pow(newDatas, 1/datas.length)
- };
- /**
- * [harmonicMean description]
- * @param {array} dataSet an array of N length of numbers
- * @return {float} the harmonic mean of that array
- */
- var harmonicMean = function(dataSet) {
- var numerator = dataSet.length;
- var denominator = test.map(function(num){
- return 1/num;
- }).reduce(function(a, b){
- return a+b;
- });
- return numerator/denominator;
- }
- console.log(harmonicMean(test));
- //1.2322434522705703
- console.log(geometricMean(test));
- //43.43189740303425
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement