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

时间:2016-03-19 00:08:05

标签: javascript

我正在寻找一种简单的语法,允许我使用一个属性创建一个新对象并设置该属性的值。这是一个例子。我希望能够在一条线上做点什么。

let parent = 'jackets',
let responses = [{'color':'red', 'size':'medium'}]
let tmp = {}
tmp[parent] = responses
return tmp

应记录:

{
 "jackets": [
    {
     'color':'red',
     'size':'medium'
    }
  ]
}

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

let jackets = {`${parent}`: responses}

2 个答案:

答案 0 :(得分:1)

您需要使用计算属性名称。

const key = 'foo';
const value = 'bar';

const foobar = {[key]: value}; // {foo: 'bar'}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names

(适用于es2015 Babel预设)

答案 1 :(得分:1)

这对我有用:

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

if (command[index] != NULL) {
    std::cout << command[index] << std::endl;
}
const responses = [{'color':'red', 'size':'medium'}]
const jackets = "jackets"
const A = {[jackets]: responses}
console.log(A)

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

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/6.1.19/browser.min.js"></script>

注意到:其他人在我面前进来了。