Saya memiliki objek JavaScript yang terlihat seperti ini:
var myTextOptions = {
'cartoon': {
comic: 'Calvin & Hobbes',
published: '1993'
},
'character names': {
kid: 'Calvin',
tiger: 'Hobbes'
}
}
Saya dapat mengakses properti cartoon
dengan mudah menggunakan myTextOptions.cartoon.comic
atau apa pun. Namun, saya belum bisa mendapatkan sintaks yang tepat untuk mengakses kid
. Saya sudah mencoba yang berikut ini tetapi tidak berhasil:
myTextOptions.character names.kid
myTextOptions."character names".kid
myTextOptions.character\ names.kid
myTextOptions.'character names'.kid
myTextOptions.["character names"].kid
myTextOptions.character%20names.kid
javascript
object
julio
sumber
sumber
Jawaban:
Gunakan ECMAscripts "braket notasi":
Anda dapat menggunakan notasi itu dengan cara apa pun, membaca & menulis.
Untuk informasi lebih lanjut baca di sini:
sumber
myTextOptions.["character names"].kid
- untuk melengkapi pertanyaan ini, saya bertanya-tanya mengapa itu tidak berhasil?dot notation
secara bersamaan. Hanya boleh ada satu arahan aksesor.Properti objek JavaScript juga dapat diakses atau disetel menggunakan notasi braket (untuk lebih jelasnya lihat pengakses properti ). Objek terkadang disebut array asosiatif karena setiap properti dikaitkan dengan nilai string yang dapat digunakan untuk mengaksesnya. Jadi, misalnya, Anda dapat mengakses properti objek myCar sebagai berikut:
Untuk lebih lanjut, baca di Bekerja dengan Objek JS .
Jadi dalam kasus Anda itu
myTextOptions['character names'].kid;
sumber
Kami juga dapat melakukan ini dengan -
myTextOptions[ 'character names' ]['kid']
;Ini berguna ketika kita memiliki kunci berurutan yang terdiri dari spasi.
sumber
Izinkan saya membagikan solusi saya di sini, saya menggunakan VueJs dengan skrip tipe.
Saya mengikuti json untuk diurai dan ditampilkan di UI
Saya telah membuat model berikut mengganggu di Ketik
Saya menyebut API sebagai:
Digunakan di BEJ seperti:
Sama juga bisa bekerja di React dan Angular.
sumber
gunakan kode ini
myTextOptions.["character names"]["kid"];
sumber