我的数组中有多少维度或最后一个维度

时间:2008-11-07 19:49:41

标签: arrays asp-classic vbscript

如何在Classic ASP(VBScript)中找出数组中的维数。

我正在传递一个具有多个维度的数组,但我只想查看最后一个。用其他语言似乎很容易。

3 个答案:

答案 0 :(得分:10)

Ubound(MySingleDimensionalArray, 2) ' Number of Array Elements

Ubound(MyMultiDimensionalArray, 1)  ' Number of Columns
Ubound(MyMultiDimensionalArray, 2)  ' Number of Rows

答案 1 :(得分:4)

类似于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

这有点糟糕,但它会按照你的要求做。

答案 2 :(得分:2)

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