如何在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] );
}