**如何遍历一个array?或者说如何知道一个array包含了多少个元素?
如题,迷惑中..... 问题点数:20、回复次数:11Top
1 楼ygjwjj(塔克拉玛干---胡杨林)回复于 2004-12-02 16:00:38 得分 3
for i=0 to ubound(myarr)-1
response.write myarr(i)
next iTop
2 楼lienzhu(李强)回复于 2004-12-02 16:04:49 得分 4
for i=0 to ubound(myarr)
response.write myarr(i)
next
Top
3 楼winter699()回复于 2004-12-02 16:07:07 得分 3
ubound(myarr)-lbound(myarr)
可以知道一个array包含了多少个元素Top
4 楼billdavid()回复于 2004-12-02 16:11:49 得分 0
奇怪,我用下面的方法试图打印一些特殊信息:
FUNCTION prtSpecialInfoInDesc()
specialInfo = Array("PBDT", "APDT", "NTDT", "NGDT", "NCDT", "RTDB", "GPRSCC", "eCOM", "Hier", "RADIUS", "ROUT")
for i = 0 to ubound(specialInfo) - 1
response.write specialInfo(i)&"<br>"
next i
END FUNCTION
我希望的输出结果是:
PBDT
APDT
....
但页面直接报错是怎么回事?Top
5 楼butcher2002(我又出来捣乱了)回复于 2004-12-02 16:13:33 得分 1
function aaa()
{
kk=document.test.text.value;
var arr_kk=kk.split("-");
for(i=0;i<arr_kk.length;i++)
{
alert(arr_kk[i]);
}
alert(arr_kk.length);
}
arr_kk.length是数组数
Top
6 楼aking8736(我本将心向明月,奈何明月照沟渠!)回复于 2004-12-02 16:17:45 得分 2
ubound() = 正道
我是来混分的 -_-!Top
7 楼sun94510451(中原)回复于 2004-12-02 16:31:08 得分 2
for i = 0 to ubound(specialInfo) 试试。Top
8 楼superdullwolf(超级大笨狼,每天要自强,MVP)回复于 2004-12-02 16:36:21 得分 4
<SCRIPT LANGUAGE=vbscript >
sub append( ByRef arr(),newItem)
'用于添加数组最新内容的过程
dim maxBound
maxBound = ubound(arr)
redim Preserve arr( maxBound + 1)
arr(maxBound + 1) = newItem
end sub
sub remove( ByRef arr(),oldItem)
'用于移出数组旧内容的过程
dim maxBound,old,tempArr(),i
maxBound = ubound(arr)
exits = false
for each old in arr
if old = oldItem then maxBound = maxBound -1
next
'如果不存在那么
if maxBound = ubound(arr) then exit sub
redim tempArr(maxBound)
i = 0
for each old in arr
if old <> oldItem then
tempArr(i) = old
i = i + 1
end if
next
redim arr( maxBound )
for i = 0 to maxBound
arr(i) = tempArr(i)
next
end sub
sub sort(byref arr())
'冒泡排序
dim loop1
dim loop2
dim temp
for loop1 = ubound(arr) to 0 step -1
for loop2 = 1 to loop1
if arr(loop2 - 1) > arr(loop2) then
temp = arr(loop2 - 1)
arr(loop2 - 1) = arr(loop2)
arr(loop2) = temp
end if
next
next
end sub
'下面是用来测试执行前后结果变化的
aa = array("GG兔","MM兔","BT兔")
document.write "显示原始数组" & "<br/>"
show aa
document.write "添加一条并显示" & "<br/>"
append aa, "羊皮兔"
show aa
document.write "添加一条并显示" & "<br/>"
append aa,"狼皮兔"
show aa
document.write "排序并显示" & "<br/>"
sort aa
show aa
document.write "删除一条并显示" & "<br/>"
remove aa,"狼皮兔"
show aa
sub show(arr)
'显示数组的全部内容
for each a in arr
document.write a & "<br/>"
next
document.write a & "<hr/>"
end sub
</SCRIPT>Top
9 楼yexing(猪猪爱波波)回复于 2004-12-02 16:45:23 得分 1
是不是把option explicit打开了。。。
另外ubound取到的是数组维数-1Top
10 楼billdavid()回复于 2004-12-02 16:47:21 得分 0
我郁闷,上面superdullwolf给的代码也直接报错,难道是我用的IIS版本太低?
我试了一下,只要用到lbound,ubound就会出错,在我这里还不能用replace.
2000带的应该是IIS5,应该没有问题啊?Top
11 楼billdavid()回复于 2004-12-02 16:57:26 得分 0
ft,重新验证发现问题不是出在lbound,ubound,而是由for引起的:
验证发现
lbound(...) = 0
ubound(...) = 10
但是下面的代码会引起错误
for i = 0 to 10
response.Write(specialinfo(i))
next i
我实在是无话可说了,郁闷......Top




