【发布时间】:2015-04-24 14:04:07
【问题描述】:
例如,我创建构造函数并初始化对象数组(JS)
function SomeConstruct(val1, val2) {
this.val1= val1;
this.val2= val2;
}
var someCons= new Array();
someCons[0] = new SomeConstruct(12, 40);
someCons[1] = new SomeConstruct(34, 42);
someCons[2] = new SomeConstruct(0,-5);
然后我创建索引为 [5] 的新对象,尽管数组的最后一个索引是 [2]
someCons[5]=new SomeConstruct(43,232);
但是这段代码有效,但是当我尝试访问对象 [3] 或 [4] 时出现错误
我怎样才能防止这种行为 - 例如,我有一些循环,我在某些条件下(val1==1)将新对象添加到数组中,但在某些时候,这个逻辑会中断,我错过了上面的数组索引和创建 [5] 而不是 [3] 元素? 为什么 JS 会允许这种行为?
【问题讨论】:
-
任何字符串都将用作 JavaScript 对象的属性名称。
-
我相信您会在这里找到答案:SO 简而言之,如果您愿意,可以使用对象而不是数组,并且您可以使用 for-in 枚举来获取数据。
标签: javascript arrays object