Erstellen von Objekten mit dynamischen Schlüsseln
Für den Zugriff auf und das Parsen von DOM-Elementen in Node.js wird häufig Cheerio verwendet. Es stellt sich die Frage, wie man dynamisch ein Objekt mit Schlüsseln und von Variablen abgeleiteten Werten erstellen kann.
Traditionell erforderte das Erstellen von Objekten mit dynamischen Schlüsseln in JavaScript (vor ES6) die Klammernotation:
var obj = {}; obj[myKey] = value;
Im bereitgestellten Szenario kann dies wie folgt implementiert werden:
stuff = function (thing, callback) { var inputs = $('div.quantity > input').map(function(){ var key = this.attr('name') , value = this.attr('value') , ret = {}; ret[key] = value; return ret; }) callback(null, inputs); }
Mit der Einführung von ES6 können jedoch berechnete Schlüssel in Objekten verwendet werden Initialisierer, die eine prägnantere Syntax bieten:
var obj = { [myKey]: value, }
Die Anwendung auf das vorliegende Problem ergibt:
stuff = function (thing, callback) { var inputs = $('div.quantity > input').map(function(){ return { [this.attr('name')]: this.attr('value'), }; }) callback(null, inputs); }
Beachten Sie, dass für die Verwendung berechneter Schlüssel ein Transpiler wie Babel oder Googles Traceur erforderlich ist Browserkompatibilität.
Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Objekte mit dynamischen Schlüsseln aus Variablen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!