HeroName = new Hero()
HeroName.Spells = [];
HeroName.Spells[0].Type = [];
这不起作用=(,即使我尝试新的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();
但这并不容易阅读
我做错了吗?我已经尝试了所有可能的组合,我能想到并使用谷歌搜索“数组中的数组”给我其他结果,但没有帮助我。非常感谢任何帮助
答案 0 :(得分:7)
HeroName.Spells[0]
声明为对象,因此您不能使用Type
属性,因为它不存在。这有效:
HeroName = new Hero();
HeroName.Spells = [];
HeroName.Spells[0] = {};
HeroName.Spells[0].Type = [];
答案 1 :(得分:3)
将HeroName.Spells [0]设置为Object,否则为undefined
。 undefined
不能拥有任何属性。
HeroName.Spells[0] = {};