我想将一个键值对添加到一个对象,但是我希望键等于一个变量。这就是我的意思:
var variable;
Object.assign(myObject, {variable: value})
有没有办法做到这一点?
答案 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)