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

时间:2009-12-22 20:30:58

标签: 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 = eventLists[j];
  var event = new MinEvent(eventList[j], width, left);
  testObj[eve.id] = event;
}

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我不确定你为什么要那样做。 JavaScript对象实际上已经与关联数组相同。您可以访问它的所有属性和方法:

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

如果您在将对象转换为数组后告诉我们您想要做什么(以及您希望结果看起来像什么),也许会有所帮助。

答案 2 :(得分:0)

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

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

//declare the array
var testObj = [];

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

testObj[0] = "someval";

答案 3 :(得分:0)

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

这是你想要的吗?