如何在JavaScript中将此对象转换为数组?

如何在JavaScript中将此对象转换为数组?,javascript,arrays,object,Javascript,Arrays,Object,如何将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

如何将
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;
}
功能MinEvent(事件,宽度,左侧){
this.start=event.start;
this.end=event.end;
这个。宽度=宽度;
this.top=event.start;
this.left=左;
}
var testObj={};

对于(var j=0;j我不确定您为什么要这样做。JavaScript对象实际上已经与关联数组相同。您可以访问它的所有属性和方法,如下所示:

for(prop in obj) {
    alert(prop + ” value : ”+ obj[prop];
}

如果您告诉我们在将对象转换为数组后要做什么(以及您希望结果是什么样子),可能会有所帮助。

如果您最初将
testObj
声明为数组,则不需要转换它

//declare the array
var testObj = new Array();

基于索引的访问应该适用于其中任何一种

testObj[0] = "someval";

等等。

从技术上讲,javascript中的每个对象都可以像数组一样处理。您的代码应该按原样工作

但是无论如何,看看您的代码,为什么不将
testObj
定义为
var testObj=[];

var array = []
for( var prop in testObj )
{
    array.push( testObj[prop] );
}

这就是您想要的吗?

所有JavaScript对象基本上都是关联数组。您编写的代码应该可以工作(假设
new Event
应该是
new MinEvent
,并且
eventlist
被初始化为正常值)。如果你想
testObj
成为一个真正的数组,你需要告诉我们你想如何转换它的属性。如果你告诉我们你想用它做什么也许会有帮助?如果我没有错,如果我把testObj作为一个对象而不是真正的数组,我就不知道它的长度。对吗?@priyank.mp:对。但是如果你简单地切换
{
[]
你也不能依赖
.length
:字符串键不影响
.length
,数字键只会将
.length
的最高索引
+1
。换句话说,你应该回答@Douglas的问题……一旦我得到testObj,我将遍历每个元素,然后根据e值-开始、结束、宽度、顶部和左侧。例如:test。我必须根据开始值(testObj[id].start)对该数组进行排序在我生成html.LOL之前,我无法理解为什么人们会记下这个问题的每个答案。他们都是有效的,包括我的。这是一个简单的javascript数组。就像这里的小学一样。噢,我!我!我!我先举手;)
var array = []
for( var prop in testObj )
{
    array.push( testObj[prop] );
}