2012-03-21 11 views
1

我正在嘗試節點js上的node-mysql模塊。我想要做的是能想出這樣一個對象:將變量視爲JavaScript中的字符串

{'room1':'Room 1','room2':'Room 2','room3':'Room 3'} 

下面的代碼:

var boom = results; 
    var rooms = []; 
    var index = 0; 
    var name = 'session'; 
    for(var b in boom){ 
     var ses = name + index; 
     rooms[b] = {ses : boom[b]['ses_title']}; 
     index++; 
    } 

的SES變量被視爲在上面的一串代碼。而我最終是這樣的:

[{ses : 'class session'} , {ses : 'team session'}] 
+0

而問題是? – Starx 2012-03-21 05:48:46

回答

2

你不能指定這樣的關鍵名稱。使用bracket notation它應該工作:

var boom = results; 
var rooms = []; 
var index = 0; 
var name = 'session'; 
for(var b in boom){ 
rooms[b] = {}; 
rooms[b][name + index] = boom[b]['ses_title']}; 
index += 1; 
} 
2

你需要使用類似:

rooms[b] = {}; 
rooms[b][ses] = boom[b]['ses_title']; 

這是因爲在對象字面鍵總是字面解釋,不進行評估。

相關問題