2014-02-05 52 views
2

值對象在PEG.js我有以下規則回車鍵,採用動態密鑰名稱

label = l:[a-zA-Z\$\#\% ]* { return word(l); } 
block = "[" l:label "]" { return l; } 
option = "\n"* key:block value:label "\n"? {return {key : value}; } 

如果解析[hello] world它導致:

{"key": "world"}

我想它返回

{"hello": "world"}

這可能嗎?我怎樣才能確保對象鍵接受動態值。

+0

參見:http://stackoverflow.com/questions/6500573/dynamic-keys-for-object-literals-in-javascript – Phrogz

回答

3

變化

… { return {key : value}; } 

… { var o={}; o[key]=value; return o; } 
+0

是,使用方括號表示法是設置動態屬性名稱的唯一方法。 –