This looks very much like sort, a bit more memory efficient though as it
doesn't return the whole thing. I like it although Array.prototype is
probably not the right place. I heard something about up and coming
iterator related functions module?

On Sat, May 26, 2012 at 6:26 AM, Rich Walrath <[email protected]> wrote:

> Hello,
>
> I've been playing around with an iterative array method I wrote earlier
> today. I thought it would be a good idea to post it here and see wher
>
> The idea behind this method is to search for the best match. It does this
> by allowing you to specify a weighing function that calculates the best
> result based by comparing two of the values at a time.
>
> Here is a variant to the method I have been toying with:
>
>
> Array.prototype.search = function( searchFn, scope ){
> var len = this.length, i = 1, curr;
>
> if(len === 0){ throw new TypeError("Length is 0 and no results are
> possible."); }
>
> curr = this[0];
>
> for( ; i < len; i++ ) {
> if( i in this && searchFn.call( scope, curr, this[i], i, this ) ) {
>  curr = this[i];
> }
> }
>
> return curr;
> };
>
>
> For an example say you have a list of coordinates and you want to get the
> largest x coordinate you would just do something like this:
>
> var arr = [
> { x: 0, y: 124 },
> { x: 50, y: 34 },
>  { x: -23, y: 85 },
> { x: 163, y: 40 },
> { x: 65, y: -20 }
> ];
>
> arr.search( function(c,v,i,o){
> return v.x > c.x;
> });
>
> The end result would be the { x: 163, y: 40 } object because it has the
> largest x value, which is what we were looking for.
>
>
>
> --------------------------
> Rich Walrath
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>


-- 
*+*
*Best regards*, Dušan Maliarik // cell: +31646233420
*+*
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to