【发布时间】:2009-12-22 20:30:57
【问题描述】:
如何将testObj 转换为数组?
function MinEvent(event, width, left){
this.start = event.start;
this.end = event.end;
this.width = width;
this.top = event.start;
this.left = left;
}
var testObj = {};
for (var j=0; j<eventLists.length; j++) {
var eve = eventLists[j];
var event = new MinEvent(eventList[j], width, left);
testObj[eve.id] = event;
}
【问题讨论】:
-
所有 JavaScript 对象基本上都是关联数组。您编写的代码应该可以工作(假设
new Event应该是new MinEvent并且eventLists被初始化为正常的东西)。 -
如果您希望
testObj成为一个真正的数组,您需要告诉我们您希望它的属性如何转换。如果你告诉我们你想用它做什么,也许会有所帮助? -
如果我没记错的话,如果我将 testObj 作为一个对象而不是一个真正的数组,我就不会知道它的长度。对吗?
-
@priyank.mp:对。但是,如果您只是将
{}切换到[],您也不能依赖.length:字符串键不会影响.length,而数字键只会将.length提升到最高索引+1。换句话说,你应该回答@Douglas 的问题…… -
获得 testObj 后,我将遍历每个元素,然后根据值生成一些 html 代码 - start、end、width、top 和 left。例如:测试。在生成 html 之前,我必须根据起始值(testObj[id].start)对这个数组进行排序。
标签: javascript arrays object