JavaScript 透過變數設定物件鍵
P粉106301763
P粉106301763 2023-10-09 12:00:10
0
2
566

我正在 JavaScript 中建立一些物件並將這些對象推入數組中,我將要在變數中使用的密鑰存儲在變數中,然後創建我的對象,如下所示:

var key = "happyCount";
myArray.push( { key : someValueArray } );

但是當我嘗試檢查每個物件的物件陣列時,鍵是 "key" 而不是變數鍵的值。有什麼方法可以從變數中設定鍵的值嗎?

小提琴以獲得更好的解釋: http://jsfiddle.net/Fr6eY/3/

P粉106301763
P粉106301763

全部回覆(2)
P粉321676640

在 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 }

對於 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 person = {};
    var key = "name";
    
    person[key] /* this is same as person.name */ = "John";
    
    console.log(person); // should print  Object { name="John"}
P粉579008412

您需要先建立對象,然後使用[]設定它。

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,
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板