Ну и пафосный es6:
var type = 'type'; var custom = { [type]:{ label: 'test' } }; alert(JSON.stringify(custom)); |
ksa,
Ну в этом случае это только имитация результата по значению переменной, а не по имени - с таким же успехом можно было бы и просто написать var custom = { key: { label: "test" } }; custom = { type: { label: "test" } }; alert(JSON.stringify(custom)); |
Цитата:
Вариантов ему показали валом! :D |
Конечно, это какие-то непонятные танцы с бубном с невнятной целью, так что вся моя предыдущая критика весьма сомнительна:-E
Возможно, наиболее корректный - в данной ситуации - вариант замены ключа с сохранением значения var custom = { key: { label: "test" } }; custom = JSON.parse('{"type":' + JSON.stringify(custom.key) + '}'); alert(JSON.stringify(custom)); |
Да, кажись дошло, что он хотел:) :
var type = "value1"; var custom = { key: { label: "test" } }; custom[type] = custom.key; delete custom.key; alert(JSON.stringify(custom,0,'\t')); |
Aetae,
:victory: |
Часовой пояс GMT +3, время: 18:32. |