Asp中数组的使用方法详解
定义简单数组
有两种方法在asp中定义和初始化数组,让我们看看每种的例子:
方法一:
1 | MyArray = Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct", "Nov","Dec") |
数组大小由初始化元素个数决定。
方法二:
1 2 3 | Dim myArray(2) '指定数组大小 myArray(0)="Jan" myArray(1)="Feb" |
数组动态扩展
1 2 3 | DIM myArray() REDIM myArray(20) '将数组大小重新定义为20 ReDim Preserve MyArray(i) 'Preserve 保留数组中的原有数据 |
二维数组
举例:
1 | dim MyArray(5,10) '定义了一个二维数组 |
二维赋值举例:
1 | MYArray(3,3)=100 |
二维数组还有一种变相的实现方法:
1 2 3 4 | dim MyArray(5) MyArray(0)=Array(...) '一维数组 MyArray(1)=Array(...)'一维数组 ... |
访问的时候,用MyArray(x)(y)这样的格式
数组的下标
用上面的方法定义数组,每一维数组的第一个元素的下标是0,最后一个元素的下标就是元素数量-1
但也可以指定数组的下标,如:
1 | dim MyArray1(3 to 10) '下标从3到10,MyArray(3)即获取第一个元素的值 |
有用的数组函数
1 2 3 | Ubound(数组名)函数--返回数组的最后一个元素的下标。 Lbound(数组名)函数--返回数组的第一个元素的下标,缺省为0。 |
更多应用:
数组排序函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function Sort(ary) KeepChecking = TRUE Do Until KeepChecking = FALSE KeepChecking = FALSE For I = 0 to UBound(ary) If I = UBound(ary) Then Exit For If ary(I) > ary(I+1) Then FirstValue = ary(I) SecondValue = ary(I+1) ary(I) = SecondValue ary(I+1) = FirstValue KeepChecking = TRUE End If Next Loop Sort = ary End function |
数组排序函数应用例子
1 2 3 4 5 6 | Dim MyArray MyArray = Array(1,5,123,12,98) MyArray = Sort(MyArray) For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) & "<br />" Next |
将一个字符串分割并返回数组
1 2 3 4 5 | Dim MyArray MyArray = Split(字符串,分割符) For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) & "<br />" Next |
在Application和Session中使用数组
1 2 3 4 | Application.Lock Application("StoredArray") = MyArray Application.Unlock LocalArray = Application("StoredArray") |
覆盖Application中的数组
1 2 3 | Application.Lock Application("StoredArray") = LocalArray Application.Unlock |
Session使用方法与Application相同
从数据库中把数据导入数组中
1 2 3 4 5 6 7 8 9 | Dim MyArray '取出全部记录 MyArray = RS.GetRows '取出前10项记录 MyArray = RS.GetRows(10) For row = 0 To UBound(MyArray, 2) For col = 0 To UBound(MyArray, 1) Response.Write (col, row) & "<br />" Next Next |
JS动态添加option和删除optiond的详细方法 Highcharts的基本属性和方法详解