Erstellen von Objekten mit dynamischen Schlüsseln
In JavaScript sind die Schlüssel in einem Objektliteral typischerweise statische Zeichenfolgen. Es kann jedoch vorkommen, dass Sie Objekten Schlüssel basierend auf Eingabedaten dynamisch zuweisen müssen.
In diesem Szenario verfügt der Benutzer über eine Funktion, die ein Objekt mit Schlüsseln und Werten erstellen muss, die dynamisch bestimmt werden. Die einfache Verwendung der .map-Funktion führt jedoch zu einem Array von Objekten mit demselben Schlüsselnamen.
Lösung 1: Berechnete Schlüssel (ES2015)
In der kürzlich eingeführten Im ES2015-Standard können Objekte mit berechneten Schlüsseln erstellt werden. Mit dieser Syntax kann der Schlüssel in einem Objektliteral dynamisch als Variable oder Ausdruck angegeben werden.
stuff = function (thing, callback) { var inputs = $('div.quantity > input').map(function () { return { [this.attr('name')]: this.attr('value'), }; }); callback(null, inputs); };
Lösung 2: Klammernotation (ES5 und niedriger)
In früheren Versionen von JavaScript (ES5 und niedriger) können dynamische Schlüssel mithilfe der Klammernotation zugewiesen werden. Dazu muss der Schlüssel als Zeichenfolge in eckigen Klammern definiert werden.
stuff = function (thing, callback) { var inputs = $('div.quantity > input').map(function () { var key = this.attr('name'); var value = this.attr('value'); var ret = {}; ret[key] = value; return ret; }); callback(null, inputs); };
Mit einer dieser Techniken können Sie Objektschlüssel basierend auf Eingabedaten in JavaScript dynamisch erstellen und so sicherstellen, dass die Schlüssel mit den gewünschten Werten übereinstimmen.
Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Objekte mit dynamischen Schlüsseln erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!