13. august 2007 - 14:10
Der er
19 kommentarer
sorter xml data efter dato
Hej, - jeg har en række data som jeg læser ind i flash via xml, - inkl. <date>1978-03-15 12:54:00</date> Som så er forskellig for alle poster. Jeg putter mine data ind i objekter som jeg så har i nogle arrays. Jeg vil så gerne sortere mit array efter datoen fra <date> i objekterne. Men hvordan gør man det? vh kalleBalle
Annonceindlæg tema
13. august 2007 - 15:04
#1
Jeg kan fange datoen fra mine objekter med: for(var n=0;n<global_items_total.length; n++){ trace("--------- global_items_total ==== "+global_items_total[n][0].obj_date); }
13. august 2007 - 15:04
#2
så jeg skal altså have sorteret global_items_total efter dato ;)
13. august 2007 - 15:22
#3
Du kan ikke sortere på serveren? Umiddelbart ville jeg tro at du kunne mappe dine dato strenge ud i til Number felter i objekter som; o = {year:1978, month:3, date:15, hour:12, min:54, sec:0}; og smide dem i et array du derefter sorterer med sortOn hen over properties i dine objekter; s_a = arr.sortOn(["year", "month", "date", "hour", "min", "sec"], Array.NUMERIC); mvh mat
13. august 2007 - 15:28
#4
Eller du kan knalde det sammen til ét tal med de mest betydende forrest, a la; 19780315125400 Og så sortere dem almindeligt numerisk?
13. august 2007 - 15:44
#5
hvordan 'knalder' jeg dem sammen til 1 tal? Iøvrigt en super ide ;) vh kalleBalle
13. august 2007 - 15:47
#6
hm, - prøver lige dit første forslag..
13. august 2007 - 16:10
#7
kan squ ikke få den til at sortere.... jeg har: for(var n=0;n<global_items_total.length; n++){ global_items_total.sortOn(["obj_date_year", "obj_date_month", "obj_date_date", "obj_date_hour", "obj_date_min", "obj_date_sec"], Array.NUMERIC); } global_items_total er mit array fyldt med objekter og jeg har tilføjet de forskellige properties til objekterne.
13. august 2007 - 16:11
#8
shit, - jeg mener naturligvis ikke at det skal i en for løkke...
13. august 2007 - 16:11
#9
men altså: global_items_total.sortOn(["obj_date_year", "obj_date_month", "obj_date_date", "obj_date_hour", "obj_date_min", "obj_date_sec"], Array.NUMERIC);
13. august 2007 - 16:12
#10
men såvidt jeg kan se sker der ikke noget med global_tiems_total arrayet :(
13. august 2007 - 16:19
#11
har lavet en fejl, - tjekker lige om det virker nu.
13. august 2007 - 16:37
#12
shit, - det virker nu, - jeg brugte en blanding af de 2 måde du foreslog! Smid lige et velfortjent svar. vh kalleBalle
13. august 2007 - 16:38
#13
øv det virker stadig ikke, - der var jeg lige lidt hurtig ;)
13. august 2007 - 16:45
#14
jeg får en værdi når jeg skriver: trace("global_items_top adsfjæalsdkjfæaljks = "+global_items_top[0][0].obj_date_number); dvs. at propertien findes, - men hvad er der så forkert her: for(var n=0;n<global_items_top.length;n++){ global_items_top[n][0].sortOn(["obj_date_number"],Array.NUMERIC); }
14. august 2007 - 07:14
#15
Lad være med at sætte square brackets rundt om den streng, der angiver den property du sorterer efter. mvh mat
14. august 2007 - 07:16
#16
Eller næh, hvordan virker ovenstående ikke?
14. august 2007 - 08:51
#17
Jeg har løst det med en bubblesort funktion! public static function bubbleSort(myItems) { for (var i = myItems.length-1; i>0; i--) { for (var j = 0; j<i; j++) { if (Number(myItems[j][0].obj_date_number)>=Number(myItems[j+1][0].obj_date_number)) { var temp = myItems[j]; myItems[j] = myItems[j+1]; myItems[j+1] = temp; } } } myItems.reverse(); }
14. august 2007 - 09:06
#18
Jammen er det ikke bare fordi du forsøger at kalde sortOn på et objekt i dit array, istedet for arrayet? global_items_top[n][0].sortOn(["obj_date_number"],Array.NUMERIC); // <- her mvh mat
16. august 2007 - 14:49
#19
eller?
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.