6
HeroName = new Hero()
HeroName.Spells = [];
HeroName.Spells[0].Type = [];

new Array() などを試しても、これは機能しません =( 。配列内で配列を実行することはできませんか?これが私が目指していたものです:

HeroName.Spells[0].Type[0] = new DmgSpell();
HeroName.Spells[0].Type[1] = new Buff();

私は次のようなことができることを知っています

HeroName.Spells[0][0] = new DmgSpelL();
HeroName.Spells[0][1] = new Buff();

しかし、これでは読みやすくはなりません

私は何か間違ったことをしていますか?考えられるすべての組み合わせを試しましたが、Google を使用して「配列内の配列」を検索すると、役に立たない他の結果が得られます。どんな助けでも大歓迎です

4

2 に答える 2

7

あなたは一歩を踏み外しました。オブジェクトであると宣言HeroName.Spells[0]していないため、オブジェクトが存在しないため、Typeプロパティにすることはできません。これは機能します:

HeroName = new Hero();
HeroName.Spells = [];
HeroName.Spells[0] = {};
HeroName.Spells[0].Type = [];
于 2013-08-29T01:42:11.750 に答える
3

HeroName.Spells[0] をオブジェクトとして設定します。それ以外の場合は ですundefinedundefinedプロパティを持つことはできません。

HeroName.Spells[0] = {};
于 2013-08-29T01:43:56.393 に答える