Création d'objets avec des clés dynamiques
En JavaScript, les clés d'un littéral d'objet sont généralement des chaînes statiques. Cependant, il peut arriver que vous deviez attribuer dynamiquement des clés à des objets en fonction des données d'entrée.
Dans ce scénario, l'utilisateur dispose d'une fonction qui doit créer un objet avec des clés et des valeurs déterminées dynamiquement. Cependant, la simple utilisation de la fonction .map génère un tableau d'objets avec le même nom de clé.
Solution 1 : Clés calculées (ES2015)
Dans la version récemment introduite Norme ES2015, les objets peuvent être créés avec des clés calculées. En utilisant cette syntaxe, la clé d'un littéral d'objet peut être spécifiée dynamiquement en tant que variable ou expression.
stuff = function (thing, callback) { var inputs = $('div.quantity > input').map(function () { return { [this.attr('name')]: this.attr('value'), }; }); callback(null, inputs); };
Solution 2 : Notation entre crochets (ES5 et versions antérieures)
Dans les versions antérieures de JavaScript (ES5 et versions antérieures), les clés dynamiques peuvent être attribuées à l'aide de la notation entre parenthèses. Cela implique de définir la clé sous forme de chaîne entre crochets.
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); };
En utilisant l'une ou l'autre de ces techniques, vous pouvez créer dynamiquement des clés d'objet basées sur les données d'entrée en JavaScript, en vous assurant que les clés correspondent aux valeurs souhaitées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!