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?
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.
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
%>