Saya perlu menetapkan nama properti objek JS secara dinamis.
for(i=1; i<3; i++) {
var key = i+'name';
data = {
key : 'name1',
}
}
Hasilnya harus:
data = {
1name: 'name1'
2name: 'name1'
}
javascript
Vinoth Babu
sumber
sumber
Jawaban:
sumber
Anda harus menggunakan
[]
notasi untuk mengatur kunci secara dinamis.Sekarang di ES6 Anda dapat menggunakan sintaks literal objek untuk membuat kunci objek secara dinamis, cukup bungkus variabelnya
[]
sumber
Dengan ECMAScript 6, Anda bisa menggunakan nama properti variabel dengan sintaks literal objek, seperti ini:
Sintaks ini tersedia di browser yang lebih baru berikut:
( https://kangax.github.io/compat-table/es6/ )
Anda dapat menambahkan dukungan ke browser lama dengan menggunakan transpiler seperti babel . Sangat mudah untuk mengubah seluruh proyek jika Anda menggunakan bundler modul seperti rollup atau webpack .
sumber
Ini adalah cara untuk menetapkan nilai secara dinamis
sumber
Gunakan variabel sebagai kunci objek
Lihat Bagaimana cara mengembalikan objek Anda di sini
sumber
Tidak masalah dari mana variabel tersebut berasal. Hal utama yang kita miliki satu ... Tetapkan nama variabel antara tanda kurung "[..]".
sumber
ini akan mirip dengan
sumber
Sejalan dengan komentar Sainath SR di atas, saya dapat menetapkan nama properti objek js dari variabel di Google Apps Script (yang belum mendukung ES6) dengan mendefinisikan objek lalu menentukan kunci / nilai lain di luar objek:
sumber