在一行上创建具有可变键和值的新对象

Tho*_*ggi 4 javascript

我正在寻找一种简单的语法来允许我创建一个具有一个属性的新对象并设置该属性的值。这是一个例子。我希望能够在一条线上完成所有事情。

let parent = 'jackets',
let responses = [{'color':'red', 'size':'medium'}]
let tmp = {}
tmp[parent] = responses
return tmp
Run Code Online (Sandbox Code Playgroud)

应该记录:

{
 "jackets": [
    {
     'color':'red',
     'size':'medium'
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我以为我曾经看到这在 es-spec 中是可能的,但它不适用于 babel-2015 预设。

let jackets = {`${parent}`: responses}
Run Code Online (Sandbox Code Playgroud)

jam*_*non 5

这对我有用:

*注意:我将结果安慰到控制台。打开控制台查看结果。

const responses = [{'color':'red', 'size':'medium'}]
const jackets = "jackets"
const A = {[jackets]: responses}
console.log(A)
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/6.1.19/browser.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

0Aconst%20A%20%3D%20%7B%5BL%5D%3A%20responses%7D%0Aconsole.log(A)%0A

const jackets = {[parent]: responses}
console.log(jackets)

// gives

{"jackets":[{"color":"red","size":"medium"}]}
Run Code Online (Sandbox Code Playgroud)

注意:其他人在我之前进入。