Arrays 从数组中删除双值

Arrays 从数组中删除双值,arrays,vbscript,asp-classic,comparison,Arrays,Vbscript,Asp Classic,Comparison,如果我有一个数组,比如- array(0) = 85 array(1) = 85 array(2) = 53 array(3) = 203 array(4) = 85 如何创建没有双值的新数组?所以这个数组是 array(0) = 85 array(1) = 53 array(2) = 203 我不知道vbs中是否有从数组中删除重复元素的函数。如果它不存在,您可以使用以下方法。语法可能有问题,但您可以使用该策略 length=5 newLength=1 for i=0 to

如果我有一个数组,比如-

array(0) = 85
array(1) = 85
array(2) = 53
array(3) = 203
array(4) = 85
如何创建没有双值的新数组?所以这个数组是

array(0) = 85
array(1) = 53
array(2) = 203

我不知道vbs中是否有从数组中删除重复元素的函数。如果它不存在,您可以使用以下方法。语法可能有问题,但您可以使用该策略

length=5
    newLength=1
    for i=0 to length-1

      for j=0 to newLength-1
      if(array(i)=array(j)) then
    exit For
    end if
      next
      if(j=newLength) then
    array(newLenth++)=array(i);
    end if

    next

如果对数组进行排序,也可以在n log n中执行此操作。

使用函数from和测试代码,如

  Dim aA   : aA   = Split( "85 459 459 90 85 85 85" )
  Dim aRes : aRes = diffArray( aA, Array() )
  WScript.Echo "A  :", Join( aA )
  WScript.Echo "UNI:", Join( aRes( 0 ) ), "settifieds"
给你:

A  : 85 459 459 90 85 85 85
UNI: 85 459 90 settifieds

我知道这是一个老问题,但最近我遇到了相同的场景,需要从阵列中删除冗余实体。我搜索了这么多,但没有找到任何简单的方法来做同样的事情

从链接


希望这会对某些人有所帮助

你能展示并举例说明吗,或者提供一个链接,以展示我可以学习如何进行排序的示例?如果你对数组进行排序,你仍然需要删除重复项并使用下面的方法。因此,考虑排序在这里不是一个好主意,我认为+1是为了指出DUP删除不需要排序。
Set objDictionary = CreateObject("Scripting.Dictionary")

arrItems = Array("a","b","b","c","c","c","d","e","e","e")

For Each strItem in arrItems
  If Not objDictionary.Exists(strItem) Then
      objDictionary.Add strItem, strItem   
  End If
Next

intItems = objDictionary.Count - 1

ReDim arrItems(intItems)

i = 0

 For Each strKey in objDictionary.Keys
   arrItems(i) = strKey
   i = i + 1
 Next

For Each strItem in arrItems
   Wscript.Echo strItem
 Next