2014-02-05 3 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

Да, использование квадратной нотации - единственный способ установить динамическое имя свойства. –

 Смежные вопросы

  • Нет связанных вопросов^_^