in partnership with mediatemple

Array.arrange = Array.prototype.arrange = function(fn, bind){ // could be just static Array.arrange
        if(fn && bind) fn = fn.bind(bind);
        return $A(this).sort(fn || $empty);
};
 
 
Array.implement({
                
        max: function(fn, bind){
                return this.arrange(fn, bind)[0];
        },
                
        min: function(fn, bind){
                return this.arrange(fn, bind).slice(-1)[0];
        }
                
});