数组的VBScript索引位置

4 arrays indexing vbscript location

希望这是一个简单的方法,但是我似乎找不到任何参考。

如何打印存储在数组中的内容的位置,而不是其中的实际项目的位置

Array(0) = Dog
Array(1) = Cat
Array(2) = Fish
Run Code Online (Sandbox Code Playgroud)

可以说我搜索了数组并找到了cat,我如何打印cat的存储位置,在本例中为Index Number(1)。

提前致谢。

bon*_*igo 5

数组的位置称为 index

如果你运行一个循环,

For i = LBound(Array) to UBound(Array)
 if Array(i) = "Cat" then  '--restrict to find index of particular item
   MsgBox i '-- gives the location/index of Cat item
 End if
next i
Run Code Online (Sandbox Code Playgroud)
  • LBound: 是下界,数组的起始索引。首先。它可以为零或任何值,因为 VBA 提供了将默认数组基数更改为 0 或 1 的灵活性。

  • UBound: 是上限,数组的结束索引。最后。

进一步阅读:在由 Range 分配的数组的情况下,LBound 和 Ubound 发生冲突


use*_*915 5

在这种情况下,最好使用ArrayList而不是简单数组。

Set myArray = CreateObject ("System.Collections.ArrayList")
With myArray
  .Add "Dog"
  .Add "Cat"
  .Add "Fish"
End With

intIndex = myArray.IndexOf ("Cat",0)
Run Code Online (Sandbox Code Playgroud)

另外,您不必在意边界。