Ci sono già alcuni esempi chiari, ma noto da come hai formulato la tua domanda che probabilmente provieni da uno sfondo di PHP e ti aspetti che JavaScript funzioni allo stesso modo - non funziona. Un PHP arrayè molto diverso da un JavaScriptArray .
In PHP, un array associativo può fare la maggior parte di ciò che un array indicizzato numericamente (le array_*funzioni funzionano, puoicount() , ecc.) È sufficiente creare un array e iniziare ad assegnare agli indici di stringa invece che numerici.
In JavaScript, tutto è un oggetto (ad eccezione delle primitive: stringa, numerico, booleano) e le matrici sono una certa implementazione che ti consente di avere indici numerici. Qualsiasi cosa spinta a un array avrà effettolength , e può essere iterata con metodi Array ( map, forEach, reduce, filter, find, ecc) Tuttavia, perché tutto è un oggetto, sei sempre libero di semplici proprietà assegnare, perché è qualcosa che si fa per qualsiasi oggetto. La notazione a parentesi quadre è semplicemente un altro modo per accedere a una proprietà, quindi nel tuo caso:
array['Main'] = 'Main Page';
è effettivamente equivalente a:
array.Main = 'Main Page';
Dalla tua descrizione, suppongo che tu voglia un "array associativo", ma per JavaScript, questo è un semplice caso di utilizzo di un oggetto come hashmap. Inoltre, so che è un esempio, ma evita i nomi non significativi che descrivono solo il tipo di variabile (ad esempio array) e il nome in base a ciò che dovrebbe contenere (ad esempio pages). Gli oggetti semplici non hanno molti buoni modi diretti per iterare, quindi spesso trasformeremo poi in array prima usando i Objectmetodi ( Object.keysin questo caso - c'è anche entriese valuesvenendo aggiunti ad alcuni browser proprio ora) che possiamo eseguire in 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));