2014-11-21 44 views
2

我需要在JavaScript中創建對象數組這種結構:在JavaScript中創建一個特定的對象數組

var nodes = { 
     '0': { 'label': 'abc' }, 
     '1': { 'label': 'cdf' }, 
     '2': { 'label': 'kjh' }, 
     '3': { 'label': 'wef' }, 
     '4': { 'label': 'vrg' } 
    }; 

我已經試過這樣的,但沒有成功:(

var nodes = {}; 
    for (var i = 0; i < 4; i++) { 
     nodes[i] = { i: { 'label': 'xpto'+i } }; 
    } 

任何想法?

提前感謝!

回答

7
var nodes = {}; 
for (var i = 0; i <= 4; i++) { 
    nodes[i] = { 'label': 'xpto'+i }; 
} 
+1

非常感謝!它的工作原理:) – user2633804 2014-11-21 14:52:13

1

這給實際的需要:

var nodes = {}; 
for (var i = 0; i < 4; i++) { 
    nodes[i+""] = { 'label': 'xpto'+i }; 
} 
+1

'+「」'沒用。 – 2014-11-21 14:16:44

+0

+「」將鍵轉爲字符串而不是int – Hacketo 2014-11-21 14:17:41

+0

如果您傳遞的不是字符串,它會先轉換爲字符串。 – 2014-11-21 14:18:10

0

你不能在對象鍵使用變量..
所以你總是需要在leftval它提供:

nodes[i] = {'label': 'test'+i}; 
1

只是簡單的基本標籤代碼來創建對象陣列

var object = {}; // Object declaration 
var objectArray = []; // Array declartion 

object = {'id':1 , 'propertyName1': "value1", 'propertyName2': "value2",'propertyName3': "value3"} // assign vlaue into object 

objectArray.push(object); // push object into array 

console.log(objectArray[0]); 
相關問題