Gegen ist ein Array (Feld) von Werten die doppelt vorkommen. Benötigt wird ein Array ohne doppelte Einträge. Der Ausgangs-Array wird von der hier gezeigten Funktion nicht verändert. Sofern nicht wie im ersten Anwendungsbeispiel gezeigt der Array neu zugewiesen wird.
<%
Dim theArray, theArrayNew
theArray = Array("ox", "horse", "cow", "pig", _
"deer", "monkey", "rabbit", _
"ox", "dog", "cat", "pig", _
"dog", "rabbit", "frog", _
"cat", "horse")
' show array before modifications
Response.Write "Before:<HR>" & join(theArray, "<br>") & "<HR>"
' remove duplicate string values and reassign to ORIGINAL array
theArray = RemDups(theArray)
' ALTERNATIVELY assign returned array to a new array
theArrayNew = RemDups(theArray)
' show the array with no duplicate values
Response.Write "After:<HR>" & join(theArrayNew, "<br>") & "<HR>"
Function RemDups(byRef anArray)
Dim d, item
Set d = CreateObject("Scripting.Dictionary")
For Each item In anArray
d(item) = 0
Next
RemDups = d.Keys
End Function
%>