Сортировка массивов

Маленький класс, статические методы которого могут быть использованы в качестве параметра при вызове метода Array.prototype.sort(), для получения различных типов сортировки.


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]);
};