asp中数组去重,数组去重的5种方法前端
求ASP vb版数组去重函数
Function array_unique(ByRef srcArray)
If Ubound(srcArray) = 0 Then '小于2个不用去重
array_unique = srcArray
Exit Function
End If
'这里用字典,带key=value映射,比较方便
Dim dict1: Set dict1 = Server.CreateObject("Scripting.Dictionary")
Dim dictWillDel: Set dictWillDel = Server.CreateObject("Scripting.Dictionary")
Dim i
For i = 0 To Ubound(srcArray) '循环要去重的数组
If dict1.Exists(srcArray(i)) Then 'dict1里面已经有这个值了,说明这个值有重
dictWillDel.Add i '把要去掉的元素的下标记录到dictWillDel里
Else '至目前为止没有重复
dict1.Add srcArray(i) '那就记下来,再碰到这个值就说明有重复了
End If
Next
Dim newArray: Redim newArray(0) '建立一个新数组,把srcArray里面不需要去掉的值存进来,因为要在srcArray里面去掉一个元素不太方便
Dim n: n = 0
For i = 0 To Ubound(srcArray)
If Not dictWillDel.Exists(i) Then '这个下标在dictWillDel里没有,说明不用删除这项
'那就存下来
Redim Preserve newArray(n)
newArray(n) = srcArray(i)
n = n + 1
End If
Next
array_unique = newArray
srcArray = newArray
End Function
asp随机从数据库里提取并去重分割关键词是怎么做到的?
'...其他代码略...
randomize
rs.open?"select?top?2?*?from?表名?order?by?rnd(-id-"??rnd??")",conn,1,1?'随机取2记录
s?=?""
do?until?rs.eof??'循环取记录
????ss?=?split(rs("tag"),?",")?'按逗号分割
????for?i?=?0?to?ubound(ss)
????????if?instr(","??s??",",?","??ss(i)??",")?=?0?Then?'如果s中不存在就添加
????????????if?s""?then?s?=?s??","
????????????s?=?s??ss(i)
????????end?if
????next
????rs.movenext
loop
rs.close
ss?=?split(s,?",")??'把去重后的s分割为数组
for?i?=?0?to?ubound(ss)
????response.write?"a?href='#'"??ss(i)??"/a"??'链接地址自己搞定
next
'...其他代码略...
数组去重是什么?
去重,通常为去重计算、页面去重。
去重计算指在不同的时间维度内,重复一个行为产生的数据只计算一次,按照时间维度去重包括按小时去重、按日去重、按周去重、按月去重或按自选时间段去重。
例如:访客数的去重计算是,同一个访客在所选时间段内产生多次访问,只记录该访客的一次访问行为,访客数进记录为1。若选择的时间维度为“按天”,则同一个访客在当日内产生的多次访问,访客数记录为1。
数组的注意事项:
1、 数组中每个元素的数据类型必须相同,对于inta[4],每个元素都必须为 int。
2、 数组长度 length?最好是整数或者常量表达式,
3、 访问数组元素时,下标的取值范围为 0 ≤ index length。
ASP如何过滤数组内重复内容
dim a(4)
a(0)=1
a(1)=1
a(2)=2
a(3)=2
a(4)=3
for n=0 to ubound(a)-1
for s=1 to ubound(a)
if a(s)=a(n) then
a(n)=""
end if
next
next
a_new=filter(a,"")‘把a数组里面是空值的全部删掉,然后重新组合成一个a_new数组。
for n=0 to ubound(a_new)’打印出a_new数组。
response.write a_new(n)"br"
next
说明:a_new是新生成的数组,去掉了a数组里面被清空的那些,重新生成了一个开头角标是0的a_new数组。
Asp.Net初学小结 判断数组中是否有重复的数据
//数组去重
var arr = [1,3,5,6,1,4,2,6,7];
var newArr = [];
for(var i in arr) {
if(newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i])
}
}
console.log(newArr)
判断是否有重复数据的话,只要判断arr和newArr是否相等就可以