Home >Web Front-end >JS Tutorial >ASP filter array duplicate data function (enhanced version)_javascript skills

ASP filter array duplicate data function (enhanced version)_javascript skills

WBOY
WBOYOriginal
2016-05-16 18:25:581108browse

Function code:

Copy code The code is as follows:

<%'***** ***************************************************
'Filter array duplicate function name: array_no(cxstr1,cxstr2,cxstr3)
'cxstr1: any string, automatically recognize
'cxstr2: the splitting symbol in cxstr1.
'cxstr3: Extract the string at a certain position in the result. If it is equal to 0, it will return all, if it is greater than the array subscript, it will return the last.
'Used for two-dimensional arrays
'****** *************************************************
function array_no(cxstr1,cxstr2,cxstr3)
if len(cxstr3) > 0 then
if not IsNumeric(cxstr3) then
array_no = "Sorry, the type of parameter 3 must be numeric"
Exit Function
end if
else
array_no = "Sorry, the type of parameter 3 must be a number"
Exit Function
end if
if isarray(cxstr1) then
array_no = "Sorry, parameter 1 cannot be an array"
Exit Function
end if
if cxstr1 = "" or isempty(cxstr1) then
array_no = "No data"
Exit Function
end if
ss = split(cxstr1,cxstr2)
cxs=cxstr2&ss(0)&cxstr2
sss=cxs
for m = 0 to ubound(ss)
cc ​​= cxstr2&ss(m )&cxstr2
if instr(sss,cc)=0 then
sss = sss&ss(m)&cxstr2
end if
next
array_no = right(sss,len(sss)-len( cxstr2))
array_no = left(array_no,len(array_no)-len(cxstr2))
if cxstr3 <> 0 then
cx_sp = split(array_no,cxstr2)
if cxstr3 > ; ubound(cx_sp) then
array_no = cx_sp(ubound(cx_sp))
else
array_no = cx_sp(cxstr3)
end if
end if
end function%>


The following is the test code:
Copy the code The code is as follows:

<%s1 = "abc,aa,bb,cdef,bc,abcdef,hhgg,gggg,cde,edc"
s2 = "1,2,3,11,22,33,12, 13,14,11,33,333,14"
s3 = ""
s4 = "sdf,abc,12,2,2,abc"
s5 = split(s4)
response.write "When the string is a character:"&array_no(s1,",",0)&"
"
response.write "When the string is a number:"&array_no(s2,",",0)& "
"
response.write "When the string is empty: "&array_no(s3,",",0)&"
"
response.write "When the string is mixed: "&array_no(s4,",",0)&"
"
response.write "When the string is an array: "&array_no(s5,",",0)&"
"
response.write "When the string is an unknown variable:"&array_no(s33,",",0)&"
"
response.write "When extracting a certain bit, when the subscript is not exceeded: "&array_no(s1,",",2)&"
"
response.write "When extracting a certain bit, when the subscript is exceeded: "&array_no(s1,",",200)&"< ;br>"%>

Test results:
Copy code The code is as follows:

When the string is a character: abc,aa,bb,cdef,bc,abcdef,hhgg,gggg,cde,edc
When the string is a number: 1,2,3,11,22 ,33,12,13,14,333
When the string is empty: there is no data
When the string is mixed: sdf,abc,12,2
When the string is an array: Sorry, parameter 1 cannot be When the array
string is an unknown variable: there is no data
When extracting a certain bit, when the subscript is not exceeded: bb
When extracting a certain bit, when the subscript is exceeded: edc


Enhanced version of Script House: Solve common array errors
Copy code Code As follows:

<%
'****************************************** ******************
'Filter array duplicate function name: array_no(cxstr1,cxstr2,cxstr3)
'cxstr1: Any string, automatically recognized
'cxstr2: Split symbol in cxstr1.
'cxstr3: Extract the string at a certain position in the result. If it is equal to 0, it will return all, if it is greater than the array subscript, it will return the last.
'Used for two-dimensional arrays
'****** *************************************************
function array_no(cxstr1,cxstr2,cxstr3)
if len(cxstr3) > 0 then
if not IsNumeric(cxstr3) then
array_no = "Sorry, the type of parameter 3 must be numeric"
Exit Function
end if
else
array_no = "Sorry, the type of parameter 3 must be a number"
Exit Function
end if
if isarray(cxstr1) then
array_no = "Sorry, parameter 1 cannot be an array"
Exit Function
end if
if cxstr1 = "" or isempty(cxstr1) then
array_no = "No data"
Exit Function
end if
do while instr(cxstr1,",,")>0
cxstr1=replace(cxstr1,",,",",")
loop
if right(cxstr1, 1)="," then
cxstr1=left(cxstr1,len(cxstr1)-1)
end if
ss = split(cxstr1,cxstr2)
cxs=cxstr2&ss(0)&cxstr2
sss=cxs
for m = 0 to ubound(ss)
cc ​​= cxstr2&ss(m)&cxstr2
if instr(sss,cc)=0 then
sss = sss&ss(m)&cxstr2
end if
next
array_no = right(sss,len(sss)-len(cxstr2))
array_no = left(array_no,len(array_no)-len(cxstr2))
if cxstr3 <> 0 then
cx_sp = split(array_no,cxstr2)
if cxstr3 > ubound(cx_sp) then
array_no = cx_sp(ubound(cx_sp))
else
array_no = cx_sp(cxstr3)
end if
end if
end function

s1 = "abc,aa,bb,cdef,bc,abcdef,hhgg,gggg,cde,edc, 333,,,,,333,7,,,,"
s2 = "1,2,3,11,22,33,12,13,14,11,33,333,14,333,,,,,333, 7,,,,"
s3 = ""
s4 = "sdf,abc,12,2,2,abc,333,,,,,333,7,,,,"
s5 = split(s4)
response.write "When the string is a character:"&array_no(s1,",",0)&"
"
response.write "When the string is a number:"&array_no (s2,",",0)&"
"
response.write "When the string is empty:"&array_no(s3,",",0)&"
"
response.write "When the string is a mixed string:"&array_no(s4,",",0)&"
"
response.write "When the string is an array:"&array_no(s5,",", 0)&"
"
response.write "When the string is an unknown variable:"&array_no(s33,",",0)&"
"
response.write "Extract a certain When one digit is extracted, the subscript is not exceeded: "&array_no(s1,",",2)&"
"
response.write "When a certain digit is extracted, the subscript is exceeded: "&array_no(s1 ,",",200)&"
"
%>

Mainly adding judgment
Copy Code The code is as follows:

do while instr(cxstr1,",,")>0
cxstr1=replace(cxstr1,",,", ",")
loop
if right(cxstr1,1)="," then
cxstr1=left(cxstr1,len(cxstr1)-1)
end if
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn