Jeg bygger noen objekter i JavaScript og skyver disse objektene inn i en matrise, jeg lagrer nøkkelen jeg vil bruke i en variabel og oppretter deretter objektene mine slik:
var key = "happyCount";
myArray.push( { key : someValueArray } );
men når jeg prøver å undersøke objektmatrisen min for hvert objekt, er nøkkelen `" nøkkel" i stedet for verdien av variabelnøkkelen. Er det noen måte å angi verdien av nøkkelen fra en variabel?
Fele for bedre forklaring:
Du må lage objektet først, og deretter bruke []
for å angi det.
var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push(obj);
OPPDATERING 2018:
Hvis du kan bruke ES6 og Babel, kan du bruke denne nye funksjonen:
{
[yourKeyVariable]: someValueArray,
}
Prøv noe sånt som dette (se eksempel i ES6 på slutten av svaret)
var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log(yourObject );
eksempel:
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"}
I ES6 kan du gjøre slik.
var key = "name";
var person = {[key]:"John"};
console.log(person); // should print Object { name="John"}
var key = "name";
var person = {[key]:"John"};
console.log(person); // should print Object { name="John"}