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

网络编程 2025-03-24 01:47www.168986.cn编程入门

在ASP编程中,我们常常需要处理数组,尤其是当数组中出现了重复项或者需要对比两个数组时。以下是几种处理数组中的重复项和对比两个数组的方法。

假设我们有一个包含重复项的数组,并希望去除这些重复项。一种方法是通过函数MoveR来实现。代码如下:

```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 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`。

接下来,如果我们有两个数组需要进行对比,并希望去除相同的数组元素。这可以通过函数mover来实现。代码如下:

```asp

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和n2,使用这个函数可以得到一个结果数组,其中包含了两个数组中不同的元素。例如,`response.write mover("a,b,1,11,12,13,14,15,16,17,19,20,22","a,1,12,14,18,19,20")`的输出会展示两个数组中独有的元素。

如果你有一个数组中含有空元素,并希望去除这些空元素,下面的代码可以实现这一功能:

```asp

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

```

这段代码会将数组A中的非空元素提取出来,并将结果赋值给数组B。这样你就可以得到一个不包含空元素的数组了。

上一篇:Thinkphp中import的几个用法详细介绍 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by