Вы можете делать то, что вам нравится, так:
var setname = 'set_1', elements = {};
elements[setname] = ['beer','water','wine'];
alert(elements['set_1']); // beer,water,wine
См. Это в действии на http://jsfiddle.net/x5KRD/.
Все объекты в JS могут быть доступны с использованием точечной нотации (obj.method()
или obj.property
) или скобочной нотации (obj['method']()
или obj['property']
). Использование скобочных обозначений позволяет динамически указывать имена методов / свойств / ключей.
Например, хотя неуклюжий window['alert']('hi')
эквивалентен window.alert('hi')
.
Обратите внимание, что ваш код в любом случае не будет работать как есть, поскольку вы используете литеральную запись объекта ({'beer','water','wine'}
) для хранения массива (вместо этого он должен быть в квадратных скобках ['beer','water','wine']
). Объектные литералы должны иметь пары ключ-значение.