2014-10-19 63 views
1

嘗試使用通過函數參數傳遞的鍵來構建字典。使用函數參數值作爲字典鍵

var progres_mark = function(progress_state) { 
    var now = Date(); 
    console.log({ progress_state : now }) 
} 

progres_mark("encode") 

預計

{ 'encode': 'Sun Oct 19 2014 18:22:33 GMT+0300 (IDT)' } 

實際

{ progress_state: 'Sun Oct 19 2014 18:22:33 GMT+0300 (IDT)' } 

這是怎麼回事?

回答

9

由於編譯器僅預計標識符字符串因此不會計算爲該變量的值。但是你可以使用括號符號來實現你想要的。

var progres_mark = function(progress_state) { 
    var now = Date(); 
    var obj = {}; obj[progress_state] = now; 
    console.log(obj) 
} 
+0

謝謝。所以我不會允許我接受這個問題(再過11分鐘,不知道爲什麼會實施這種人工延遲)。所以等待一段時間後,我會將其標記爲已解決。謝謝。 – 2014-10-19 15:42:38

+0

很高興有幫助:) @MaximVeksler – 2014-10-19 15:43:53