2016-09-28 45 views
0

我有兩個變量,attribute(例如「type」)和value(例如「car」)。我想創建一個對象,其中的鍵是屬性(值是值)。像這樣:{"type": "car"}有沒有用變量鍵初始化對象的任何干淨的方法?

當我做

let obj = { attribute: value } 

我得到

> {"attribute": "car"} 

這是很容易與兩行,我可以只

let obj = {}; 
obj[attribute] = value; 

不過,我想知道是否有一個乾淨的方式做到這一點(因爲我是一個前Rubyist,我喜歡把事情做得乾淨準確)?

+0

(此外,我覺得這是一個已經在這裏有一個答案的問題,但我無法找到一個類似的問題,所以我提前如果這是一個重複的道歉) –

+0

見副本中接受答案的底部。 –

回答

1

Computed property names,從ES2015又名ES6開始。

let a = "type", b = "car"; 
 
console.log({[a]: b});

+0

完美!我知道必須有一些東西,但我的同事和我都很難過。 –

+1

@MikeManfrin要知道,這不一定能在任何地方工作,至少現在是這樣。 – Pointy

+0

我們很慶幸地使用打字稿 - > es6,所以這應該適合我們,謝謝! –