84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我正在 JavaScript 中建立一些物件並將這些對象推入數組中,我將要在變數中使用的密鑰存儲在變數中,然後創建我的對象,如下所示:
var key = "happyCount"; myArray.push( { key : someValueArray } );
但是當我嘗試檢查每個物件的物件陣列時,鍵是 "key" 而不是變數鍵的值。有什麼方法可以從變數中設定鍵的值嗎?
"key"
小提琴以獲得更好的解釋: http://jsfiddle.net/Fr6eY/3/
在 ES6 中,你可以這麼做。
var key = "name"; var person = {[key]:"John"}; // same as var person = {"name" : "John"} console.log(person); // should print Object { name="John"}
var key = "name"; var person = {[key]:"John"}; console.log(person); // should print Object { name="John"}
其名稱為計算屬性名稱,它使用括號表示法(方括號)[]
[]
範例:{ [variableName] : someValue }
{ [variableName] : someValue }
對於 ES5,嘗試這樣的動作
var yourObject = {}; yourObject[yourKey] = "yourValue"; console.log(yourObject );
範例:
var person = {}; var key = "name"; person[key] /* this is same as person.name */ = "John"; console.log(person); // should print Object { name="John"}
您需要先建立對象,然後使用[]設定它。
var key = "happyCount"; var obj = {}; obj[key] = someValueArray; myArray.push(obj);
2021 年更新:
計算屬性名稱功能在 ECMAScript 2015 (ES6) 中引入,它允許您以 JavaScript 物件文字表示法動態計算物件屬性的名稱。
const yourKeyVariable = "happyCount"; const someValueArray= [...]; const obj = { [yourKeyVariable]: someValueArray, }
在 ES6 中,你可以這麼做。
其名稱為計算屬性名稱,它使用括號表示法(方括號)
實現[]
範例:
{ [variableName] : someValue }
對於 ES5,嘗試這樣的動作
範例:
您需要先建立對象,然後使用
[]
設定它。2021 年更新:
計算屬性名稱功能在 ECMAScript 2015 (ES6) 中引入,它允許您以 JavaScript 物件文字表示法動態計算物件屬性的名稱。