2013-10-23 175 views
0
創建對象

我試圖做到這一點:變量屬性

var sortAfter = req.query.sortAfter || '_id'; 
var ascending = req.query.direction || -1; 
var sorted = {sortAfter: ascending}; 

但執行console.log(排序)輸出下列對象:

{ sortAfter: -1 } 

這就像第一個變量是不是在創建對象使用...

問題:我如何去進行 variabl的對象es,而不是一個變量和一個固定字符串?

+0

可能duplica te [傳遞動態關鍵字:值對的對象文字?](http://stackoverflow.com/questions/4119324/passing-in-dynamic-keyvalue-pairs-to-an-object-literal) –

回答

2

試試這個方法:

var sortAfter = req.query.sortAfter || '_id'; 
var ascending = req.query.direction || -1; 
var sorted = {}; 
sorted[sortAfter] = ascending; 
1

在對象文字中,鍵總是文字,他們從來沒有變量。如果你想設定一個動態的對象鍵,你就必須做這樣的:

var sorted = {}; 
sorted[sortAfter] = ascending; 
1

使用標/括號標記:

var sorted = {}; 
sorted[sortAfter] = ascending; 

下標運算符將其操作數轉換成串,