Heim >Web-Frontend >js-Tutorial >Wie kann ich JavaScript-Objekte mit dynamischen Schlüsseln aus Variablen erstellen?

Wie kann ich JavaScript-Objekte mit dynamischen Schlüsseln aus Variablen erstellen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-08 10:45:12892Durchsuche

How Can I Create JavaScript Objects with Dynamic Keys from Variables?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn