Création d'objets avec des clés dynamiques
Pour accéder et analyser les éléments DOM dans Node.js, Cheerio est couramment utilisé. La question se pose de savoir comment créer dynamiquement un objet avec à la fois des clés et des valeurs dérivées de variables.
Traditionnellement, en JavaScript (avant ES6), la création d'objets avec des clés dynamiques nécessitait une notation entre crochets :
var obj = {}; obj[myKey] = value;
Dans le scénario fourni, cela peut être implémenté comme :
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); }
Cependant, avec l'avènement d'ES6, les clés calculées peuvent être utilisées dans les objets initialiseurs, offrant une syntaxe plus concise :
var obj = { [myKey]: value, }
L'application de ceci au problème en question donne :
stuff = function (thing, callback) { var inputs = $('div.quantity > input').map(function(){ return { [this.attr('name')]: this.attr('value'), }; }) callback(null, inputs); }
Notez que l'utilisation de clés calculées nécessite un transpileur tel que Babel ou Traceur de Google pour compatibilité du navigateur.
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!