Hi,

>
> I wrote a portable date sorting algorithm, I thought it might be of
> interest
> to my peers since I've only seen date sorting implementations for data
> grids.
>
> //the following sorts an array of Date objects:
>
> function sortDateArray(a:Array, j:Boolean) {
>     var
> b=['getYear','getMonth','getDate','getTime'],c=a.length,d=b.length,e
> = -1,f,g,h,i;
>     while(++e<c){
>         i = c-e-1;
>         for(g=-1;++g<c-e;)
>             for(f=-1;++f<d;){
>                 h=[a[i][b[f]](),a[g][b[f]]()];
>                 if(h[0]!=h[1])
>                     if(h[0]<h[1]) i = g;
>                     else break;
>                 else continue;
>             }
>         a.push(a.splice(i, 1)[0]);
>     }
>     if(j)a.reverse();
> }
>
[snip]
> Please feel free to mangle,
>

Without wanting to mangle too much
But the language already provide a sort function for arrays
that you could reuse

also the valueOf() method of the Date object could
simplify a lot the comparison of values

list = [ new Date( 1901, 1, 1), new Date(), new Date(2003,1,5), new
Date(2005,3,5) ];

function sortDateArray2( a, b )
    {
    a = a.valueOf();
    b = b.valueOf();

    if( a > b )
        {
        return 1;
        }
    else if( a == b )
        {
        return 0
        }

    return -1;
    }


list.sort( sortDateArray2 );
trace( list.join( "\n" ) );

----
Fri Feb 1 00:00:00 UTC+0100 1901
Wed Feb 5 00:00:00 UTC+0100 2003
Tue Apr 5 00:00:00 UTC+0200 2005
Wed Jan 11 03:07:31 UTC+0100 2006
----

zwetan



_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to