是否可以将键值对添加到对象并使键等于变量?

时间:2019-10-06 18:58:27

标签: javascript object variables

我想将一个键值对添加到一个对象,但是我希望键等于一个变量。这就是我的意思:

var variable;

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

有没有办法做到这一点?

3 个答案:

答案 0 :(得分:2)

使用以下代码将变量用作键。使用[]运算符将变量值设置为键。

const key = "variableKey";

const object = {};

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

答案 1 :(得分:0)

您不需要使用Object.assign(),只需将密钥直接添加到对象中即可。

var variable = "value";

myObject[variable] = variable;

答案 2 :(得分:0)

根据MDN文档:

  

对象属性名称可以是任何有效的JavaScript字符串,也可以是任何可以转换为字符串的内容,包括空字符串。

     

请注意,除非JavaScript对象属性名称(键)只能是字符串或符号,否则方括号符号中的所有键都将转换为字符串,除非它们是Symbols

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)