Heim > Fragen und Antworten > Hauptteil
Ich erstelle einige Objekte in JavaScript und schiebe diese Objekte in ein Array. Ich speichere den Schlüssel, den ich verwenden möchte, in einer Variablen und erstelle dann mein Objekt wie folgt:
var key = "happyCount"; myArray.push( { key : someValueArray } );
Aber wenn ich versuche, das Array von Objekten für jedes Objekt zu überprüfen, sind die Schlüssel "key"
und nicht der Wert der Variablen key. Gibt es eine Möglichkeit, den Wert eines Schlüssels aus einer Variablen festzulegen?
Geige zur besseren Erklärung: http://jsfiddle.net/Fr6eY/3/
P粉3216766402023-10-10 10:06:39
在 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粉5790084122023-10-10 00:58:48
您需要先创建对象,然后使用[]
设置它。
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, }