Arrays sorting

Small class, which static methods could be used as an arguments for Array.prototype.sort() to perform numeric ascending or descending sorting. Or even sort an array of objects by one of the object properties.


function Comparator() {};

Comparator.numericAsc = function(a, b) {
    var af = parseFloat(a);
    var bf = parseFloat(b);
    return((isNaN(af) ? 0 : af) - (isNaN(bf) ? 0 : bf));
};

Comparator.numericDesc = function(a, b) {
    return(Comparator.numericAsc(b,a));
};

Comparator.key = function(key, comparator, a, b) {
    return comparator(a[key], b[key]);
};