JSFiddle - React, Tailwind, and code Playground

Array Utitly for Quartiles.

by Nalin Sajwan

JavaScript

// Array Utitly for Quartiles

var arrayUltity = {
	getLowerQuartile: function(values) {
		var lowerQuartileArr = [];

		if(values instanceof Array) {
			values.sort( function(a,b) {return a - b;} );

			lowerQuartileArr = (values.length % 2 == 0) ? values.slice(0, (values.length / 2)) : values.slice(0, Math.floor(values.length / 2));
		}

		return lowerQuartileArr;
	},
	getUpperQuartile: function(values) {
		var upperQuartileArr = [];

		if(values instanceof Array) {
			values.sort( function(a,b) {return a - b;} );

			upperQuartileArr = (values.length % 2 == 0) ? values.slice((values.length / 2), values.length) : values.slice(Math.ceil(values.length / 2), values.length);
		}

		return upperQuartileArr;
	},
	getMedian: function(values) {
		var median;

		if(values instanceof Array && values.length > 0) {
			values.sort( function(a,b) {return a - b;} );

			var half = Math.floor(values.length/2);

			if(values.length % 2 !== 0) {
				median = values[half];
			} else {
				median = ((values[half-1] + values[half]) / 2.0);
			}
		}

		median = parseFloat(median);

		if(isNaN(median)) {
			if(values.length == 1) {
				median = values[values.length - 1];
			}
		}

		return median;
	},
	getLowerQuartileMedian: function(values) {
		var self = this;

		var lowerQuartileArr = self.getLowerQuartile(values);

		var median = self.getMedian(lowerQuartileArr);

		return median;
	},
	getUpperQuartileMedian: function(values) {
		var self = this;

		var upperQuartileArr = self.getUpperQuartile(values);

		var median = self.getMedian(upperQuartileArr);

		return median;
	},
	getHighestValue: function(values) {

		values.sort( function(a,b) {return a - b;} );

		var minimum;

		minimum = values[values.length - 1];

		minimum = parseFloat(minimum);

		return minimum;
	},
	getLowestValue: function(values) {
		values.sort( function(a,b) {return a - b;} );

		var maximum;

		maximum = values[0];

		maximum = parseFloat(maximum);

		return maximum;
	}
};

var values = [1, 4, 8, 8, 5,...