Fast JavaScript Max/Min

via:john resig http://ejohn.org/blog/fast-javascript-maxmin/

I've been saving this technique for a while now - it's simple, but it's good. What's the fastest way to find the largest, or smallest, number in an array?

There's a bunch of implementations floating around - including some nicely object-oriented approaches in Prototype. However, none of them can compare to the raw simplicity of this:

Array.max = function( array ){
    return Math.max.apply( Math, array );
};

Array.min = function( array ){
    return Math.min.apply( Math, array );
};

The premise behind this technique is simple (and obvious once you see it): Just find any built-in JavaScript function that takes unlimited arguments - it'll now be just as easy to adapt it for Array-wide use. By using JavaScript's .apply() method on a built-in function you can pass in an array of unlimited arguments.

After "discovering" this for myself I found out that it's mentioned in the "Rhino" book, which made me feel stupid. Oh well, it's a great trick and its one that more people should know.

原文地址:https://www.cnblogs.com/youxin/p/2742066.html