Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mencipta Objek JavaScript dengan Kekunci Dinamik daripada Pembolehubah?

Bagaimanakah Saya Boleh Mencipta Objek JavaScript dengan Kekunci Dinamik daripada Pembolehubah?

Barbara Streisand
Barbara Streisandasal
2024-12-08 10:45:12836semak imbas

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

Mencipta Objek dengan Kekunci Dinamik

Untuk mengakses dan menghuraikan elemen DOM dalam Node.js, Cheerio biasanya digunakan. Timbul persoalan mengenai cara mencipta objek secara dinamik dengan kedua-dua kekunci dan nilai yang diperoleh daripada pembolehubah.

Secara tradisinya, dalam JavaScript (pra-ES6), mencipta objek dengan kekunci dinamik memerlukan notasi kurungan:

var obj = {};
obj[myKey] = value;

Dalam senario yang disediakan, ini boleh dilaksanakan sebagai:

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);
}

Walau bagaimanapun, dengan kemunculan ES6, kunci yang dikira boleh digunakan dalam pemula objek, menawarkan sintaks yang lebih ringkas:

var obj = {
  [myKey]: value,
}

Menggunakan ini pada masalah yang ada menghasilkan:

stuff = function (thing, callback) {
  var inputs  = $('div.quantity > input').map(function(){
    return {
      [this.attr('name')]: this.attr('value'),
    };
  }) 

  callback(null, inputs);
}

Perhatikan bahawa menggunakan pengiraan kunci memerlukan transpiler seperti Babel atau Google's Traceur untuk keserasian penyemak imbas.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Objek JavaScript dengan Kekunci Dinamik daripada Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn