首页 > 代码库 > asp下去除数组中重复的项的方法

asp下去除数组中重复的项的方法

<%
Function MoveR(Rstr) 
Dim i,SpStr 
SpStr = Split(Rstr,",") 
For i = 0 To Ubound(Spstr) 
If I = 0 then 
MoveR = MoveR & SpStr(i) & "," 
Else 
If instr(MoveR,SpStr(i))=0 and i=Ubound(Spstr) Then 
MoveR = MoveR & SpStr(i) 
Elseif instr(MoveR,SpStr(i))=0 Then 
MoveR = MoveR & SpStr(i) & "," 
End If 
End If 
Next 
End Function 
%>

  

pp=MoveR("abc,abc,dge,gcg,dge,gcg,die,dir,die")
‘pp返回結果 abc,dge,gcg,die,dir

pp1=Ubound(Split(MoveR(pp),","))
‘pp1返回結果 5

如果是两个数组进行对比,去掉相同的数组元素:

 

<%
Function mover(farray,sarray)
a = Split(farray, ",")
    Set dic = CreateObject("Scripting.Dictionary")
    For k=0 To UBound(a)
     If a(k)<> "" Then dic.Add "_" & a(k), a(k)
    Next
    a = Split(sarray, ",")
    For k=0 To UBound(a)
        If a(k)<> "" Then
            If dic.Exists("_" & a(k)) Then
            dic.Remove "_" & a(k)
            End If
        End If
    Next
    items = dic.Items()
    Set dic = Nothing
    moveR=Join(items, ",")
End Function
n1 = "a,b,1,11,12,13,14,15,16,17,19,20,22"
n2 = "a,1,12,14,18,19,20"
response.write mover(n1,n2)
%>

  

结果是:3.数组A中有为空的元素(如a=array("ww","ss","","dd","","ee")),

想把这些空元素从数组A中去掉.并把去掉空元素有的数组赋给数组B.

str=""
for i = lbound(A) to ubound(A)
if A(i)<>"" then
if i<>lbound(A) then str = str + "," end if
str = str & A(i)
end if
next
b = split(str,",")

  

asp下去除数组中重复的项的方法