26. maj 2004 - 09:40
Der er
2 kommentarer og
1 løsning
sammenligne arrays
Hej, er der en fiks måde at sammenligne to arrays på og så ende med et nyt array, der indeholder værdier fra de to første arrays... men! det nye array må ikke indeholde dubletter.
Eks.:
arr1 = 1,2,3
arr2 = 2,3,5,8
det nye array skal så indeholde:
arrnew = 1,2,3,5,8
Da VBscript (så vidt jeg ved) mangler en indexOf-function, bliver man nok nødt til at løbe igennem de to arrays og sammenligne værdierne 1 ad gangen.
ex:
For i1 = 0 To Ubound(arr1)
isUnique = true
For i2 = 0 To Ubound(arr2)
If arr1(i1) = arr2(i2) Then
isUnique = false
Exit For
End If
Next
If isUnique Then
' udskriv værdi, eller gem den i nyt array
End If
Next
Fandt ud af det på den her måde:
Set Dic = Server.CreateObject("Scripting.Dictionary")
arrH = Split(strH, ",")
For i = LBound(arrH) To UBound(arrH)
If Not Dic.Exists(arrH(i)) Then
Call Dic.Add(arrH(i), arrH(i))
End If
Next
arrU = Split(strU, ",")
For t = LBound(arrU) To UBound(arrU)
If Not Dic.Exists(arrU(t)) Then
Call Dic.Add(arrU(t), arrU(t))
End If
Next
arrFinal = Dic.Keys
For i = 0 to ubound(arrFinal)
'Skriver værdier ud f.eks.
Response.Write(arrFinal(i) & "<br>")
Next