actionscript 3 - Find the most recent date from an Array -
how find recent date array 1 below?
tue jun 2 17:59:54 gmt+0200 2013 tue jun 5 18:00:10 gmt+0200 2013 tue jun 1 12:27:14 gmt+0200 2013 tue jun 3 17:26:58 gmt+0200 2013 tue jun 9 17:27:49 gmt+0200 2013 tue jun 1 13:27:39 gmt+0200 2015 tue jun 3 12:27:59 gmt+0200 2013 tue jun 6 15:27:22 gmt+0200 2014 tue jun 2 17:27:30 gmt+0200 2014
assuming array full of as3 native date
objects, this:
array.sorton("time",array.descending); trace("most recent:",array[0]);
you cannot use array.sort
(unless use array.numeric
flag) because sort string representation of date. days of week grouped instead of actual date.
if dates strings, need convert them date objects prior sorting:
//assuming posted array in var called 'stringarray' var datearray:array = []; //a new array hold converted strings for(var i:int=0;i<stringarray.length;i++){ datearray.push(new date(stringarray[i])); } datearray.sorton("time",array.descending); trace("most recent date:",datearray[0]);
to show in concrete example, here posted dates - copy paste code produce same results:
var arr:array = new array( new date("tue jun 2 17:59:54 gmt+0200 2013"), new date("tue jun 5 18:00:10 gmt+0200 2013"), new date("tue jun 1 12:27:14 gmt+0200 2013"), new date("tue jun 3 17:26:58 gmt+0200 2013"), new date("tue jun 9 17:27:49 gmt+0200 2013"), new date("tue jun 1 13:27:39 gmt+0200 2015"), new date("tue jun 3 12:27:59 gmt+0200 2013"), new date("tue jun 6 15:27:22 gmt+0200 2014"), new date("tue jun 2 17:27:30 gmt+0200 2014") ); arr.sort(array.descending); trace("sort:"); tracedates(); arr.sorton("time",array.descending); trace("\nsort on:"); tracedates(); function tracedates(){ for(var i:int=0;i<arr.length;i++){ trace(" ",arr[i].fullyear + "-" + arr[i].month + "-" + arr[i].day); } } //output: /* sort: 2013-5-3 2013-5-0 2013-5-0 2013-5-6 2013-5-1 2013-5-1 2014-5-1 2015-5-1 //most recent date, second last item in array 2014-5-5 sort on: 2015-5-1 //june 1st recent date (first item in array) 2014-5-5 2014-5-1 2013-5-0 2013-5-3 2013-5-1 2013-5-1 2013-5-0 2013-5-6 */
Comments
Post a Comment