Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

FilterDuplicates - Delete duplicate items in an array
[ All Languages » VB »  Arrays]

Total Hit ( 2226)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 



Click here to copy the following block
' Filter out duplicate values in an array and compact
' the array by moving items to "fill the gaps".
' Returns the number of duplicate values
'
' it works with arrays of any type, except objects
'
' The array is not REDIMed, but you can do it easily using
' the following code:
'   a() is a string array
'   dups = FilterDuplicates(a())
'   If dups Then
'     ReDim Preserve a(LBound(a) To UBound(a) - dups) As String
'   End If

Function FilterDuplicates(arr As Variant) As Long
  Dim col As Collection, index As Long, dups As Long
  Set col = New Collection
  
  On Error Resume Next
  
  For index = LBound(arr) To UBound(arr)
    ' build the key using the array element
    ' an error occurs if the key already exists
    col.Add 0, CStr(arr(index))
    If Err Then
      ' we've found a duplicate
      arr(index) = Empty
      dups = dups + 1
      Err.Clear
    ElseIf dups Then
      ' if we've found one or more duplicates so far
      ' we need to move elements towards lower indices
      arr(index - dups) = arr(index)
      arr(index) = Empty
    End If
  Next
  
  ' return the number of duplicates
  FilterDuplicates = dups
  
End Function


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.