如何在 Classic ASP (VBScript) 中找出数组中的维数。
我正在传递一个具有多个维度的数组,但我只想看最后一个。在其他语言中似乎很容易。
如何在 Classic ASP (VBScript) 中找出数组中的维数。
我正在传递一个具有多个维度的数组,但我只想看最后一个。在其他语言中似乎很容易。
Ubound(MySingleDimensionalArray, 2) ' Number of Array Elements
Ubound(MyMultiDimensionalArray, 1) ' Number of Columns
Ubound(MyMultiDimensionalArray, 2) ' Number of Rows
与 feihtthief 的回答类似,因为我认为这是您想要的,而不是指定维度的大小。
Function NumDimensions(arr)
Dim dimensions : dimensions = 0
On Error Resume Next
Do While Err.number = 0
dimensions = dimensions + 1
UBound arr, dimensions
Loop
On Error Goto 0
NumDimensions = dimensions - 1
End Function
然后这样称呼它:
Dim test(9, 5, 4, 3, 9, 1, 3, 5)
NumDimensions(test)
会给你价值8
这有点糟糕,但它会按照你的要求做。
function ArrayDimensions( theArray )
dim Result,test
Result = 0
if isarray(theArray) then
on error resume next
do
test = -2
test = ubound(theArray,result+1)
if test > -2 then result = result + 1
loop until test=-2
on error goto 0
end if
ArrayDimensions = Result
end function