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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.