Ich muss einen JS-Objekteigenschaftsnamen dynamisch festlegen.
for(i=1; i<3; i++) {
var key = i+'name';
data = {
key : 'name1',
}
}
Ergebnis sollte sein:
data = {
1name: 'name1'
2name: 'name1'
}
javascript
Vinoth Babu
quelle
quelle
Antworten:
quelle
Sie müssen die
[]
Notation verwenden, um Schlüssel dynamisch festzulegen.In ES6 können Sie jetzt die Objektliteral-Syntax verwenden, um Objektschlüssel dynamisch zu erstellen. Fügen Sie einfach die Variable ein
[]
quelle
Mit ECMAScript 6 können Sie variable Eigenschaftsnamen mit der Objektliteral-Syntax wie folgt verwenden:
Diese Syntax ist in den folgenden neueren Browsern verfügbar:
( https://kangax.github.io/compat-table/es6/ )
Sie können älteren Browsern Unterstützung hinzufügen, indem Sie einen Transpiler wie babel verwenden . Es ist einfach, ein gesamtes Projekt zu transpilieren, wenn Sie einen Modulbündler wie Rollup oder Webpack verwenden .
quelle
Auf diese Weise können Sie den Wert dynamisch einstellen
quelle
Verwenden Sie eine Variable als Objektschlüssel
Hier erfahren Sie, wie Sie Ihr Objekt iterieren
quelle
Es spielt keine Rolle, woher die Variable kommt. Hauptsache wir haben eins ... Setzen Sie den Variablennamen in eckige Klammern "[..]".
quelle
Dies wird ähnlich sein wie
quelle
In Anlehnung an den obigen Kommentar von Sainath SR konnte ich einen js-Objekteigenschaftsnamen aus einer Variablen in Google Apps Script (die ES6 noch nicht unterstützt) festlegen, indem ich das Objekt definierte und dann einen anderen Schlüssel / Wert außerhalb des Objekts definierte:
quelle