2009-12-22 100 views
0

如何將testObj轉換爲數組?如何將此對象轉換爲JavaScript中的數組?

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; 
} 
+0

所有JavaScript對象基本上都是關聯數組。你寫的代碼應該是可行的(假設'new Event'應該是'new MinEvent','eventLists'被初始化爲一個完整的東西)。 – Annabelle 2009-12-22 20:36:20

+2

如果你想'testObj'是一個真正的數組,你需要告訴我們你想如何轉換它的屬性。如果你告訴我們你想用它做什麼,也許它會有所幫助? – Annabelle 2009-12-22 20:37:34

+0

如果我沒有錯,如果我保持testObj作爲一個對象而不是一個真正的數組,我不知道它的長度。對? – priyank 2009-12-22 20:45:17

回答

1

技術上在JavaScript中的每個對象可以像一個數組進行處理。你的代碼應該按原樣工作。

但無論如何,看着你的代碼,爲什麼不把testObj定義爲var testObj = [];

+0

雅我知道了。我想知道爲什麼我沒有想到這個? 謝謝 – priyank 2009-12-22 20:42:09

0

我不確定你爲什麼要這樣做。 JavaScript對象實際上已經和關聯數組一樣。你可以訪問所有的屬性和方法是這樣的:

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

也許如果你告訴我們你想要做什麼,一旦你轉換的對象inot一個數組(和你想要的結果看起來像這將有助於)。

0

如果您最初將testObj聲明爲數組,則不需要將其轉換。

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

//declare the array 
var testObj = []; 

指數基於角色的訪問應適用於任一。即

testObj[0] = "someval"; 

+0

LOL爲什麼人們對這個問題的每一個答案都是無法回答的。他們都是有效的,包括我的。這是一個簡單的JavaScript數組。這就像這裏的小學一樣。哦,我!我!我!我先舉起手來;) – 2009-12-22 20:45:43

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

這是你想要的嗎?

相關問題