使用动态键创建对象

3

以下是一个动态构建对象的函数:

function onEntry(key, value) {
  console.log(key) // productName
  console.log(value) // Budweiser

  const obj = { key: value }
  console.log(obj) // { key: "Budweiser" }
}

期望的输出是:
{ productName: "Budweiser" }

但是属性名称不会被评估

{ key: "Budweiser" }

如何使一个对象的属性名被解析为表达式?


var tmp = {};tmp[k]=v; - dandavis
你应该使用方括号表示法,如此处所述 - 3_humped_CAML
在提出新问题前,请使用搜索功能。 - Felix Kling
1个回答

3
创建一个对象,并手动设置它的键。
var obj = {}
obj[key] = value

或者使用ECMAScript 2015语法,您也可以直接在对象声明中进行操作:

var obj = {
  [key] = value
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接