Avatar billede Slettet bruger
13. september 2006 - 16:31 Der er 4 kommentarer

Hvis dubletter i array, så hiv dem ud

Hej,

Jeg har et array som indeholder alle månedsnumre fra en sql-kørsel. Nu er jeg imidlertid kun interesseret i at 9 skal optræde én gang i arrayet (uagtet hvor mange rækker i min db-tabel, der end måtte være fra september).

Nogen ideer?
Avatar billede madeindk Nybegynder
13. september 2006 - 16:36 #1
Avatar billede Slettet bruger
13. september 2006 - 16:37 #2
kender godt distinct, men pointen er her, at jeg netop vil have dubletterne med fra SQLen (de skal jo udskrives) men nu vil jeg lave et array, hvor 9 kun optræder 1 gang selvom det måske i recordsettet optræder 100 gange.
Avatar billede tdh1309 Juniormester
14. september 2006 - 11:55 #3
Her er et forslag.
Da jeg ikke kender syntaks du skal anvende det i, samt dit konkrete format på datorne er dette ikke sikkert det lige er hvad du har forventet.
I givet fald - spørg igen og vi må prøve at ramme bedre...

Held og lykke - jeg håber det kan bruges:
<%
' ***** Metode til at indhold i et array kun fremgår en gang *****

' Initiering >>
Dim myResultArr(2)
myMonthString = "Januar,Februar,Marts,April,Maj,Juni,Juli,August,September,Oktober,November,December,Januar,Marts"
myArr = split(myMonthString,",")
' Initiering >>

Response.write "Måneder i array:<br>"
dumpArray(myArr)  ' Udskriver indholdet af array før oprydning

cleanupArray myArr, myResultArr
response.write "<br>Efter oprydning<br>"
dumpArray myResultArr

Function dumpArray(dumpArray)
  For iLoop = lbound(dumpArray) to ubound(dumpArray)
    response.write "Indhold i element " & iLoop & ": " & dumpArray(iLoop) & "<br>" & vbcrlf
  Next
End Function

Function cleanupArray (byref inputArray, byref outputArray)
  Dim myCount
  myCount = 0
  For iLoop = lbound(inputArray) to ubound(inputArray)       
    If isElementUnique (inputArray(iLoop), outputArray) Then 
      Redim Preserve outputArray(myCount)   
      outputArray(myCount) = inputArray(iLoop)
      myCount = myCount + 1
    End If
  Next

Function isElementUnique (strElement, comArr)
Dim boolResult
boolResult = True
For iLoop=lbound(comArr) to ubound(comArr)
  If strElement = comarr(iLoop) Then
    boolResult = False
    iLoop=ubound(comArr) + 1
  End If 
Next
isElementUnique = boolResult
End Function

End Function

%>
Avatar billede Slettet bruger
27. august 2007 - 12:11 #4
smid et svar, hvis du vil ha' 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