1

私はJavaScript開発の初心者です。私はそのようなものを持っています:

var array1=[];
array1[0][0]={};
var dic={'title':'111','url':'222'};
array1[0][0]=dic;

しかし、それはうまくいきませんでしたか?どうしたの?辞書を多次元配列または別の辞書にプッシュするにはどうすればよいですか?

4

2 に答える 2

5

ステップをスキップしました:

var array1 = [[]];
array1[0][0] = {};

宣言は 1 次元配列を作成するだけです (JavaScript のすべての配列は 1 次元です)。上記のバージョンでは、1 次元配列を作成し、それを初期化して別の 1 次元配列を含めます。

次のようにするとわかりやすいかもしれません:

var array1 = [];
array1[0] = [];
array1[0][0] =  {};

最初の配列の最初の場所に別の配列を配置しない場合、後続の割り当てでそれを参照しようとすると失敗します。この文:

array1[0][0] = {};

の値をフェッチarray1[0]て、配列として使用できるようにする必要があります。そこに配列を配置しなかったため、そのステートメントは例外を引き起こします。

于 2012-09-01T15:32:31.553 に答える
1

array1[0]is undefined(そのようなインデックスを持つ要素がないため) であり、undefined配列またはオブジェクトではないため、機能しません。プロパティがなく、一部のプロパティに valye を割り当てることはできません。

于 2012-09-01T15:35:29.640 に答える