如何將鍵值對的值用作JavaScript中不同鍵值對中的鍵?將鍵的值用作Javascript中鍵值對的鍵
我想做到以下幾點:
var gizmos = {gizmo1: "G1"};
var things = {gizmos.gizmo1: "T1"};
所以,事情基本上等於:
var things = {"G1": "T1"};
如何將鍵值對的值用作JavaScript中不同鍵值對中的鍵?將鍵的值用作Javascript中鍵值對的鍵
我想做到以下幾點:
var gizmos = {gizmo1: "G1"};
var things = {gizmos.gizmo1: "T1"};
所以,事情基本上等於:
var things = {"G1": "T1"};
像這樣:
var gizmos = {gizmo1: "G1"};
var things = {};
things[gizmos.gizmo1] = "T1";
有沒有辦法做到這一點的對象初始化器的一部分(又名對象「literal」),你必須在它之後做。
它的工作原理的原因是,在JavaScript中,您可以訪問(獲取或設置)屬性的對象上有兩種方式:要麼用點號和文字,例如foo.bar
,或使用括號標記和字符串,例如, foo["bar"]
。在後一種情況下,字符串不一定是字符串文字,它可以是任何表達式的結果(包括在這種情況下,在另一個對象上的屬性查找)。
邊注:如果您改變gizmos.gizmo1
你做things[gizmos.gizmo1] = "T1";
行後,它確實在things
的財產不改變名稱。沒有持久的鏈接,因爲在things[gizmos.gizmo1] = "T1";
行中使用的值的gizmos.gizmo1
來確定屬性名稱(就像它在任何其他表達式中一樣)。
var gizmos = {gizmo1: "G1"};
var things = {};
things[gizmos.gizmo1]="T1";
要獲取對象上的給定鍵的值使用object["key"]
或object.key
哇,這是一個快速組答案。 – Eugene