4

*タイトルを参照してください。基本的に、40x60のような任意の次元の空白の配列を作成するために必要です。基本的に、次のようなmakeArray(3, 4)配列を作成します。

[][][]
[][][]
[][][]
[][][]
4

2 に答える 2

11

Javascript配列は動的なサイズです。ただし、特定のサイズの配列を作成する場合、Arrayコンストラクターはオプションの長さ引数を取ります。

function makeArray(d1, d2) {
    var arr = new Array(d1), i, l;
    for(i = 0, l = d2; i < l; i++) {
        arr[i] = new Array(d1);
    }
    return arr;
}

少し短い:

function makeArray(d1, d2) {
    var arr = [];
    for(let i = 0; i < d2; i++) {
        arr.push(new Array(d1));
    }
    return arr;
}

アップデート

function makeArray(w, h, val) {
    var arr = [];
    for(let i = 0; i < h; i++) {
        arr[i] = [];
        for(let j = 0; j < w; j++) {
            arr[i][j] = val;
        }
    }
    return arr;
}
于 2012-12-10T20:13:38.230 に答える
2

よくmakeArrayはこのような単純な関数になります

    ​function makeArray(a,b) {
        var arr = new Array(a)
        for(var i = 0;i<a;i++)
            arr[i] = new Array(b)
        return arr
    }
    console.log(makeArray(4,4))

しかし、関数で配列を定義する必要はありません。次のようなことを簡単に行うことができます。

var arr=[]
arr[10] = 10

これにより、10個の要素を持つ配列になります。0〜9はundefined

しかし、この場合の答えはこれで十分です。配列に関するこの質問でいくつか指摘しようとしました。興味がある場合は、この質問を参照してください。

于 2012-12-10T20:18:42.917 に答える