我可以使用变量来重新排列数组吗?

时间:2016-11-22 20:44:27

标签: arrays vb6

我不完全确定为什么我收到

的错误消息
  

期待动态数组var

使用此代码:

function reverse(array){
    var output = [];
    var len = array.length;
    for (var i = 0; i< len; i++){
        output.push(array.pop());
    }

    return output;
}

console.log(reverse([1,2,3,4,5,6,7]));

基本上,如果满足某些条件,我试图将特定字符串从一个数组移动到一个新数组。在运行此Option Explicit Sub ArrayTest() Dim i As Integer, BankList(0) As Variant, x As Integer For i = 0 To UBound(ScreenArray) If ScreenArray(i) Like "TR=SUB*" Then Debug.Print ScreenArray(i) ReDim Preserve BankList(x) '<<< ERROR LINE BankList(x) = ScreenArray(i) x = x + 1 'Raise the value for the next occurrence, if needed. End If Next End Sub 语句之前,很难确定新数组中的字符串数量。

如果从代码中无法判断,原始数组为For...Next,新数组为ScreenArray

1 个答案:

答案 0 :(得分:5)

要创建动态数组,请不要在原始声明中指定大小。

因此请使用BankList() As Variant代替BankList(0) As Variant