首页 > 技术文章 > asp下去除数组中重复的项的方法

panjinzhao 2013-07-18 10:32 原文

<%
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
response.write MoveR("abc,abc,dge,gcg,dge,gcg,die,dir,die")
%>


结果是:abc,dge,gcg,die,dir

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

<%
		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,",")

 



转自网络,如有侵权,请留言。

推荐阅读