どうでもいいプログラム研究所

とある編集者によるIT、Web、ソフトウェア、プログラミングに関する雑記と覚え書き

2次元配列を初期化する方法のメモ(VBAとJavaScript)

普段、Excel VBAJavaScriptを趣味で使うことがあるのですが、要素が空の2次元配列を作っておく(=2次元配列を初期化する)ケースに何件か遭遇したので、今後のためにメモしておきます。

JavaScriptで要素が空の2次元配列を作る

おそらく以下でOKのはずです。要素数が10×10の2次元配列arrができるはず。

var x, y, xMax, yMax;
yMax = 10;
xMax = 10;
var arr = new Array(yMax);
for(y = 0; y < yMax; y++) {
arr[y] = new Array(xMax);
   for(x = 0; x < xMax; x++) {
     arr[y][x] = "";
   }
}

Excel VBAで要素が空の2次元配列を作る

VBAを普通の使い方をしていると、2次元配列を作ることは非常にレアだと思いますが、私みたいにへんてこなツールを作っていると使うシーンがまれにあります。

以下、同様に10×10の空の要素が入っている2次元配列arができるはず。

Dim i As Integer, x As Integer, y As Integer, c As Integer
Dim ar() As Variant
x = 10
y = 10
ReDim ar(x) As Variant
For i = 0 To x - 1
    Dim a As Variant
    a = Array("")
    b = ""
    c = 0
    Do Until c > y
       ReDim Preserve a(UBound(a) + 1)
       a(UBound(a)) = b
       c = c + 1
    Loop
    ar(i) = a
Next i

VBAはそもそも配列に関する機能が貧弱なので、かなり面倒くさいですね・・JavaScriptはなんて簡単なことか(それが普通)