Передать переменную в конструктор объекта {}
Доброго времени суток. Подскажите, пожалуйста.
Есть кусок кода:
function f(){
var key = 'YO';
...
return {key: 'NIGGA'};
}
Возвращается объект с полем 'key'. Как сделать, чтобы 'key' интерпретировалась как переменная и возвращался объект с полем 'YO' |
hominini,
Вариант...
function f(){
var key = 'YO';
var obg = {} ;
obg[key]='NIGGA' ;
return obg;
}
|
Так я могу. Но это две лишних строки и объявление ненужной переменной.
Пробовал
return {eval(key): "NIGGA"};
выдает ошибку Может еще какой способ есть? |
hominini,
Нормальных нету. А тот, что вам показали первым, самый правильный. |
Цитата:
|
Цитата:
|
function f() {
var key = 'yo';
return {
key: key
};
}
|
Я может чего-то не понял, а в чем проблема?
|
В одну строчку? Да пожалуйста
alert(function(key,value){return (eval("var _={};_")[key]=value,_)}('lalala', 'ololo').lalala);
|
DreamTheater, надо, чтобы значение переменной key стало названием свойства объекта.
|
| Часовой пояс GMT +3, время: 23:07. |