我想在数组中创建一个对象。这段代码好吗?
this.bullets.splice(0, 0, new Component(this.y - 3, this.x + (this.width/2), 2, 2, "bullet"));
答案 0 :(得分:1)
这不是在数组中创建对象,而是在表达式中创建对象,其结果被输入到函数中,然后将其放入数组中。
这很好,完全正常,与用作函数调用的任何其他表达式没有什么不同。
旁注:.splice(0, 0, x)
(在索引0处插入一个项目,将已经存在于数组中的任何其他项目混乱)稍微更具惯用性.unshift(x)
。 splice
没有错,只是标记替代方案。
答案 1 :(得分:-1)
javascript中的数组是基于0的索引数组,这意味着您只能使用数字键。实现您想要的更好方法是使用对象表示法使用另一个javascript对象(所以class CustomArray {}
CustomArray.prototype = Object.create(Array.prototype);
CustomArray.prototype.constructor = CustomArray;
export default CustomArray;
)。然后,您可以为键合并数字和字符串文字。