$("#calculate").click(function(){ var lowerLimits = $('#lowerlimits').val().split(", "); var upperLimits = $('#upperlimits').val().split(", "); var frequencies = $('#frequencies').val().split(", "); var sizeMap = new Map(); var cf = 0; var start = 0; for(var i= 0; i < frequencies.length; i++){ start = cf; cf += parseFloat(frequencies[i]); for(var j=start; j < cf;j++){ sizeMap.set(j+1, i); } } var computation = 0; if(lowerLimits && lowerLimits.length > 0 && lowerLimits[0] !== ""){ var index; if(cf % 2 == 0){ index = cf / 2; }else{ index = (cf + 1) / 2; } var medianClassIndex = sizeMap.get(index); var L = lowerLimits[medianClassIndex]; var nBy2 = cf / 2; var preceedingCF =0; for(var i= 0; i < medianClassIndex; i++){ preceedingCF += parseFloat(frequencies[i]); } var medianClassFrequency = frequencies[medianClassIndex] var interval = parseFloat(upperLimits[0]) - parseFloat(lowerLimits[0]); computation = parseFloat(L) + ((nBy2 - preceedingCF) / medianClassFrequency ) * interval; } $('#result').text(parseFloat(computation).toFixed(2)); }); $("input").change(function(){ var isInvalid = $('#itemDiv').hasClass('is-invalid') || $('#frequencyDiv').hasClass('is-invalid'); if(isInvalid){ $("#add").prop("disabled", true); }else{ $("#add").removeAttr('disabled'); } }); $("#add").click(function(){ var lowerlimits = $('#lowerlimits'); var upperlimits = $('#upperlimits'); var lowerLimit = $('#lowerlimit').val(); var upperLimit = $('#upperlimit').val(); var listOfLowerLimits = lowerlimits.val(); var listOfUpperLimits = upperlimits.val(); var frequencies = $('#frequencies'); var frequency = $('#frequency').val(); var listOfFrequencies = frequencies.val(); if(lowerLimit && lowerLimit.length > 0 && upperLimit && upperLimit.length > 0 && frequency && frequency.length > 0){ if(listOfLowerLimits && listOfLowerLimits.length > 0){ listOfLowerLimits += ', ' + lowerLimit; listOfUpperLimits += ', ' + upperLimit; listOfFrequencies += ', ' + frequency; }else{ listOfLowerLimits = lowerLimit; listOfUpperLimits = upperLimit; listOfFrequencies = frequency; } $('#itemList').append("" + lowerLimit + '-' + upperLimit + ""); $('#frequencyList').append("" + frequency + ""); } lowerlimits.val(listOfLowerLimits); upperlimits.val(listOfUpperLimits); frequencies.val(listOfFrequencies); });

Enter Item's Range & Frequency (Ascending Order) and Press Add Button.

Number required!
Number required!
Number required!
Items
Frequency