webForumDet fria alternativet
Logga in / Bli medlem

Sortering av array

ASP

6 svar · 410 visningar · startad av jimpa

Medlem sedan jan. 2001361 inlägg
Trådstart#1

Hej,

Jag en massa värden i en array som jag vill kunna sortera innan jag skriver ut dom. Det ser ut ungefär så här:

1,H,45
550,H,45
4,H,45
35,V,45
3,V,45

Men vill ha det sorterat så här:

1,H,45
3,V,45
4,H,45
35,V,45
550,H,45

Jag har sökt i forumet men har inte hittat något svar som hjälpt mig till fullo!

Någon som vet?

Mvh,
Jimmy

Medlem sedan dec. 19996 721 inlägg
#2

Det måste du lösa med någon slags bubble sort.

for i = ubound(minarray) - 1 To 0 Step -1
    for j= 0 to i
        arr1=split(minarray(j),",")
        arr2=split(minarray(j+1),",")
        if cint(arr1(0))>cint(arr2(0)) then
            temp=minarray(j+1)
            minarray(j+1)=minarray(j)
            minarray(j)=temp
        end if
    next
next
Medlem sedan jan. 2001361 inlägg
#3

Jag provade din kod men jag fick tyvärr ett felmeddelande:

Microsoft VBScript runtime error '800a0009'

Subscript out of range: '[number: 0]'

/test/test.asp, line 25

Rad 25 ser ut så här:

    if cint(arr1(0))\>cint(arr2(0)) then

Mvh

Medlem sedan juni 200032 967 inlägg
#4

Hur har du skapat din array?

Medlem sedan jan. 2001361 inlägg
#5

Jag har provat så här:

myGrid = "2,H,2;15,H,2;1,H,3;4,H,2;11,H,1;3,H,3;13,H,4;10,H,1;5,H,1;6,H,4;7,H,1;"
myGrid = split(myGrid, ";")
minarray = myGrid

Mvh

Medlem sedan dec. 19996 721 inlägg
#6

Ta bort det sista semikolonet

Medlem sedan jan. 2001361 inlägg
#7

Tusen tack! Nu verkar det funka perfekt :)

257 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)