Проще говоря, окружите переменную (в общем, любое выражение) квадратными скобками, чтобы оценить ее и использовать результат как имя свойства. В вашем примере это будет
elements = { [art]: stk };
Исходный ответ (таргетинг на ES5)
Вы не можете создавать литералы объектов, подобные этому. Вам нужно написать
elements = {};
elements[art] = stk;
Причина, по которой elements = { art: stk } не работает, заключается в том, что она эквивалентна elements = { "art": stk } (с кавычками). Две версии эквивалентны в JavaScript, если art является юридическим идентификатором, а вторая версия дает понять, что происходит.
Ответ 2
Используйте ниже, чтобы добавить динамический ключ к объекту.