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搜索“数组中的数组”为我提供了其他对我无济于事的结果。任何帮助是极大的赞赏

最佳答案

你错过了一步。您尚未将HeroName.Spells[0]声明为对象,因此您无法为其指定Type属性,因为它不存在。这有效:

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

关于javascript - 在一个对象内的一个数组中的一个数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18500996/

10-11 13:01