Мне нужно установить имя свойства объекта JS динамически.
for(i=1; i<3; i++) {
var key = i+'name';
data = {
key : 'name1',
}
}
Результат должен быть:
data = {
1name: 'name1'
2name: 'name1'
}
javascript
Винот Бабу
источник
источник
Ответы:
источник
Вам придется использовать
[]
нотацию для динамической установки ключей.Теперь в ES6 вы можете использовать литеральный синтаксис объекта для динамического создания ключей объекта, просто обернув переменную в
[]
источник
С ECMAScript 6 вы можете использовать имена переменных свойств с литеральным синтаксисом объекта, например так:
Этот синтаксис доступен в следующих новых браузерах:
( https://kangax.github.io/compat-table/es6/ )
Вы можете добавить поддержку старых браузеров с помощью транспилятора, такого как babel . Весь проект легко перенести, если вы используете пакетный модуль, такой как накопительный пакет или веб-пакет .
источник
Это способ динамически установить значение
источник
Используйте переменную в качестве ключа объекта
Смотрите Как итерировать на вашем объекте здесь
источник
Неважно, откуда берется переменная. Главное, что у нас есть один ... Задайте имя переменной в квадратных скобках "[..]".
источник
это будет похоже на
источник
Следуя приведенному выше комментарию Sainath SR, я смог установить имя свойства объекта js из переменной в скрипте Google Apps (которая пока не поддерживает ES6), определив объект, а затем определив другой ключ / значение вне объекта:
источник