Ну и пафосный 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, время: 19:30. |