如果我有一個數組,如刪除雙重價值 -從陣列傳統的ASP
array(0) = 85
array(1) = 85
array(2) = 53
array(3) = 203
array(4) = 85
我怎樣才能讓沒有雙重價值的新數組?所以陣列將
array(0) = 85
array(1) = 53
array(2) = 203
如果我有一個數組,如刪除雙重價值 -從陣列傳統的ASP
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函數從array.If它不存在,你可以使用following.May是問題的語法,但您可以刪除重複的元素使用策略
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日誌n中執行此操作。
從my answer to your previous question使用功能與測試代碼像
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
我知道這是老問題,但最近我碰到,我需要刪除冗餘entires相同的情況來來自陣列。我搜索了但沒有找到任何簡單的方法做相同的搜索後,我得到了簡單的方法Hey, Scripting Guy! Blog。
從this鏈接
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
希望這將幫助一些一個
可以顯示和例子請或東西的鏈接,顯示了一個例子,我可以學習如何做到這一點? –
如果你排序數組仍然必須刪除重複,並且必須使用下面的方法。所以在這裏考慮排序並不是一個好主意,我認爲 – Rasel
+1指出刪除dups不需要排序。 –