2

問題は、多次元配列を動的に追加する必要があることです。次の例を見てください。

var list = [];
var listname;
var height;
var width;

list.push(listname);
list[listname] = height;
list[listname] = width;

上記のコードは私が期待したものではあり [listname => [[0]=>height,[1]=>width]]ません.listnameの配列を作成したくない場合はどうすればよいですか?多次元配列を動的に追加できますか? ありがとう。

4

1 に答える 1

4

Array とMapsを混同しないでください。それらは異なる基本的なデータ型です1

var myLists = {};       // name => array
var listname = "stuff"; // why not?
var height = 1;
var width = 2;

// there is no Object.push, but we can assign a property by name
myLists[listName] = [height];
// then we can Array.push into the array we just assigned
myLists[listName].push(width);

次に、myLists:

{
   stuff: [1, 2]
}

1 JavaScriptは、ほとんどの場合、この区別を維持します。配列にランダムなプロパティを追加したり、オブジェクトを偽造して配列のように動作させたりしない場合です。

于 2013-03-14T01:41:01.890 に答える