Sudah ada beberapa contoh langsung, tapi saya perhatikan dari bagaimana Anda mengatakan pertanyaan Anda bahwa Anda mungkin berasal dari latar belakang PHP, dan Anda mengharapkan JavaScript bekerja dengan cara yang sama - tidak. PHP array
sangat berbeda dari JavaScript Array
.
Dalam PHP, array asosiatif dapat melakukan sebagian besar dari apa yang dapat diindeks oleh array numerik ( array_*
fungsi berfungsi, Anda bisa count()
, dll.) Anda cukup membuat array dan mulai menetapkan ke string-indeks bukan numerik.
Dalam JavaScript, semuanya adalah objek (kecuali untuk primitif: string, numerik, boolean), dan array adalah implementasi tertentu yang memungkinkan Anda memiliki indeks numerik. Apa pun mendorong ke array akan mempengaruhi nya length
, dan dapat mengulangi lebih menggunakan metode Array ( map
, forEach
, reduce
, filter
, find
, dll) Namun, karena segala sesuatu adalah obyek, Anda selalu bebas untuk hanya sifat assign, karena itu sesuatu yang Anda lakukan untuk objek apa saja. Notasi persegi-braket hanyalah cara lain untuk mengakses properti, jadi dalam kasus Anda:
array['Main'] = 'Main Page';
sebenarnya setara dengan:
array.Main = 'Main Page';
Dari uraian Anda, dugaan saya adalah Anda menginginkan 'array asosiatif', tetapi untuk JavaScript, ini adalah kasus sederhana menggunakan objek sebagai hashmap. Juga, saya tahu ini adalah contoh, tetapi hindari nama-nama yang tidak bermakna yang hanya menggambarkan tipe variabel (misalnya array
), dan nama berdasarkan apa yang seharusnya berisi (misalnya pages
). Objek sederhana tidak memiliki banyak cara langsung yang baik untuk beralih, jadi sering kali kita akan berubah menjadi array terlebih dahulu menggunakan Object
metode ( Object.keys
dalam hal ini - ada juga entries
dan values
ditambahkan ke beberapa browser sekarang) yang dapat kita loop.
// assigning values to corresponding keys
const pages = {
Main: 'Main page',
Guide: 'Guide page',
Articles: 'Articles page',
Forum: 'Forum board',
};
Object.keys(pages).forEach((page) => console.log(page));