Могу ли я добавить пару ключ-значение к объекту и иметь ключ равным переменной? - PullRequest
0 голосов
/ 06 октября 2019

Я хочу добавить пару ключ-значение к объекту, но я хочу, чтобы ключ был равен переменной. Вот что я имею в виду:

var variable;

Object.assign(myObject, {variable: value})

Есть ли способ сделать это?

Ответы [ 3 ]

2 голосов
/ 06 октября 2019

Используйте следующий код, чтобы использовать переменную в качестве ключа. Используйте оператор [], чтобы установить значение переменной для ключа.

const key = "variableKey";

const object = {};

Object.assign(object, {[key]: 'value'});

0 голосов
/ 06 октября 2019

Согласно документации MDN:

Имя свойства объекта может быть любой допустимой строкой JavaScript или всем, что можно преобразовать в строку, включая пустую строку.

Пожалуйстаобратите внимание, что все ключи в обозначениях в квадратных скобках преобразуются в строку, если они не являются символами, поскольку имена свойств (ключей) объекта JavaScript могут быть только строками или символами

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

Попробуйте себя в консоли браузера, ключ будет назван "[object Object]", тот же результат вызова obj.toString():

let obj = {}
obj[new Object] = 'val'
console.log(obj)
0 голосов
/ 06 октября 2019

Вам не нужно использовать Object.assign(), вы можете просто добавить ключ непосредственно к вашему объекту:

var variable = "value";

myObject[variable] = variable;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...