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();

但这并不容易阅读

难道我做错了什么?我已经尝试了我能想到的所有可能的组合,并且使用谷歌搜索“数组中的数组”给了我其他对我没有帮助的结果。任何帮助是极大的赞赏

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] 设置为 Object,否则为undefined. undefined不能有任何属性。

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