average func

by khemikal

JavaScript

//average function 
//captures cells (a) until reaching cell with class (b) and returns average of values
//does not count blank cells
function getAverage(a, b) {
    var sum = 0;
    var count = 0;
    $(a).each(function () {
        $content = $(this).html();       
        var tdTxt = parseFloat($(this).text(), 10) || 0;
        if ($(this).hasClass(b)) {
            var theAvg = parseFloat((sum / count), 10) || 0;
            $(this).text(theAvg.toFixed(2));
            sum = 0;
            count = 0;
        } else {
            sum += parseFloat(tdTxt);
            if ($content == '') {
            }
            else {
                count += 1;
            }
        }
    })
}

//captures cells (a) until reaching cell with class (b) and returns concatenation of values
//only pushes unique values to array
function conCat(a, b) {
    var strArray = [];
    var uniques = [];
    $(a).each(function () {
        var tdTxt = ($(this).text());
        if ($(this).hasClass(b)) {
            $(this).text(uniques);
            strArray = [];
             uniques = []
        } else {
            strArray.push(tdTxt);
            $.each(strArray, function (i, el) {
                if ($.inArray(el, uniques) === -1) uniques.push(el);
            });
        }
    })
}