数组中的数组,在对象中?

时间:2013-08-29 01:40:08

标签: javascript

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

但这并不容易阅读

我做错了吗?我已经尝试了所有可能的组合,我能想到并使用谷歌搜索“数组中的数组”给我其他结果,但没有帮助我。非常感谢任何帮助

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:3)

将HeroName.Spells [0]设置为Object,否则为undefinedundefined不能拥有任何属性。

HeroName.Spells[0] = {};