Вы не можете использовать переменные в качестве ключей при определении объекта с помощью {}
Поэтому они интерпретируются как имена строк и могут состоять только из символов, доступных для имен переменных
The
objectname[anythingThatReturnsValue]='value1';
- это путь.
ТАКЖЕ
Вы можете сгенерировать строку и проанализировать ее
var s='{"'+keys.ONE+'": "value1"}';
var obj=JSON.parse(s);
//or
s='var obj2='+s;
eval(s);
Оба вышеописанных метода являются плохой практикой для создания объектов в JavaScript, и я не рекомендую их.