asp如何去除数组中的空元素
我asp的代码中定义了一个数组A,并且赋值给A,但是数组A中有为空的元素(如a=array("ww","ss","","dd","","ee")),我想把这些空元素从数组...
我asp的代码中定义了一个数组A,并且赋值给A,
但是数组A中有为空的元素(如a=array("ww","ss","","dd","","ee")),
我想把这些空元素从数组A中去掉.并把去掉空元素有的数组赋给数组B.
请问该怎么办?
如果不能保证数组A中有值,可能数组A所有的元素都是空元素(假设数组A中有15个空元素)或部分为空,但是数组B中一定要有5个元素.即便是从A中得到的5个空元素或得到<5个不为空的元素差的几个个元素由空元素补齐,有没有办法,得到数组A中所有非空元素,如果不够5个有空元素补齐并赋给数组B 展开
但是数组A中有为空的元素(如a=array("ww","ss","","dd","","ee")),
我想把这些空元素从数组A中去掉.并把去掉空元素有的数组赋给数组B.
请问该怎么办?
如果不能保证数组A中有值,可能数组A所有的元素都是空元素(假设数组A中有15个空元素)或部分为空,但是数组B中一定要有5个元素.即便是从A中得到的5个空元素或得到<5个不为空的元素差的几个个元素由空元素补齐,有没有办法,得到数组A中所有非空元素,如果不够5个有空元素补齐并赋给数组B 展开
3个回答
展开全部
你的问题是VBScript 里面的内容 你去下载个VBS手册看看..
不过好像无法消除空元素索引.
因为你声明的时候 定义了 dim a(10)
这就是10个空元素
不过你VBS有个动态数组
载录:VBS手册
也可以声明动态数组,即在运行脚本时大小发生变化的数组。对数组的最初声明使用 Dim 语句或 ReDim 语句。但是对于动态数组,括号中不包含任何数字。例如:
Dim MyArray()
ReDim AnotherArray()
要使用动态数组,必须随后使用 ReDim 确定维数和每一维的大小。在下例中,ReDim 将动态数组的初始大小设置为
25,而后面的 ReDim 语句将数组的大小重新调整为 30,同时使用 Preserve
关键字在重新调整大小时保留数组的内容。
ReDim MyArray(25)
. . .
ReDim Preserve MyArray(30)
重新调整动态数组大小的次数是没有任何限制的,将数组的大小调小时,将会丢失被删除元素的数据。
不过好像无法消除空元素索引.
因为你声明的时候 定义了 dim a(10)
这就是10个空元素
不过你VBS有个动态数组
载录:VBS手册
也可以声明动态数组,即在运行脚本时大小发生变化的数组。对数组的最初声明使用 Dim 语句或 ReDim 语句。但是对于动态数组,括号中不包含任何数字。例如:
Dim MyArray()
ReDim AnotherArray()
要使用动态数组,必须随后使用 ReDim 确定维数和每一维的大小。在下例中,ReDim 将动态数组的初始大小设置为
25,而后面的 ReDim 语句将数组的大小重新调整为 30,同时使用 Preserve
关键字在重新调整大小时保留数组的内容。
ReDim MyArray(25)
. . .
ReDim Preserve MyArray(30)
重新调整动态数组大小的次数是没有任何限制的,将数组的大小调小时,将会丢失被删除元素的数据。
展开全部
<%
dim j
aa=array("ww","ss","","dd","","ee")
j=ubound(aa)
'for i=0 to j
'response.Write i&"/"&aa(i)&"/"
'next
'response.Write "<br>"
''ubound(A) 得到数组下标
dim bb()
dim k
k=0
for i=0 to j
if len(aa(i))<>0 then
k=k+1
'response.Write i&"/"&aa(i)&"/"
end if
next
'response.Write k
response.Write "<br>"
if k<5 then
redim bb(5)
else
redim bb(k)
end if
dim l
l=0
for i=0 to j
if len(aa(i))<>0 then
bb(l)=aa(i)
response.Write bb(l)
l=l+1
end if
next
if k<5 then
for i=k to 5
bb(i)=""
next
end if
%>
dim j
aa=array("ww","ss","","dd","","ee")
j=ubound(aa)
'for i=0 to j
'response.Write i&"/"&aa(i)&"/"
'next
'response.Write "<br>"
''ubound(A) 得到数组下标
dim bb()
dim k
k=0
for i=0 to j
if len(aa(i))<>0 then
k=k+1
'response.Write i&"/"&aa(i)&"/"
end if
next
'response.Write k
response.Write "<br>"
if k<5 then
redim bb(5)
else
redim bb(k)
end if
dim l
l=0
for i=0 to j
if len(aa(i))<>0 then
bb(l)=aa(i)
response.Write bb(l)
l=l+1
end if
next
if k<5 then
for i=k to 5
bb(i)=""
next
end if
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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,",")
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,",")
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询