Avatar billede ktolbod Nybegynder
10. april 2006 - 16:07 Der er 4 kommentarer og
1 løsning

Sorter Array efter dato

Hello experts,

Jeg har et array med 5 strenge som hver i sær er en dato.
Eks. på strenge: 051250(05/12-05) og 062003(20/03-06)

Men hvordan udskriver jeg dem sorteret efter "string" datoen?
Avatar billede softspot Forsker
10. april 2006 - 18:33 #1
Hvis du taler om VBScript, så er du nok nødsaget til at lave en lille bubblesort (hvis du taler om små mængder data). Men inden du begynder at lave en sorteringsrutine, vil jeg da anbefale dig at bruge flg. datoformat (hvis det er muligt): yymmdd og ikke som nu yyddmm. Med yymmdd kan du bare sammenligne strengrepræsentationen af datoen og sortere efter det, ellers skal du til at skille datoen ad for at sortere dem.

Bubblesort kan se sådan ud:

<%
sub writeData(arr)
  response.write "Array indeholder flg. data:<br>"
  for i = 0 to ubound(arr)
    response.write arr(i) & "<br>"
  next
end sub

data = array("050915","060102","041219","050803","050509","050101")

writeData data

for i = 0 to ubound(data)
  for j = i+1 to ubound(data)
    if data(i) < data(j) then
      tmp = data(i)
      data(i) = data(j)
      data(j) = tmp
    end if
  next
next

writeData data
%>
Avatar billede softspot Forsker
10. april 2006 - 18:35 #2
Hvis du vil sortere i modsat orden, skal du vende sammenligningsoperatoren (<) om i den inderste if-sætning, altså:

if data(i) > data(j) then
Avatar billede ktolbod Nybegynder
11. april 2006 - 10:35 #3
Det er så perfekt som det overhovedet kan være.
Du skal have mange tak :)
Smider du et svar
Avatar billede softspot Forsker
11. april 2006 - 10:51 #4
Velbekomme :)
Avatar billede softspot Forsker
11. april 2006 - 11:02 #5
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester