Il existe déjà des exemples simples, mais je remarque, d'après la formulation de votre question, que vous venez probablement d'un arrière-plan PHP, et vous vous attendez à ce que JavaScript fonctionne de la même manière - ce n'est pas le cas. Un PHP array
est très différent d'un JavaScript Array
.
En PHP, un tableau associatif peut faire la plupart de ce qu'un tableau indexé numériquement peut (les array_*
fonctions fonctionnent, vous pouvez le count()
faire, etc.) Vous créez simplement un tableau et commencez à attribuer des index de chaîne au lieu de numériques.
En JavaScript, tout est un objet (à l'exception des primitives: chaîne, numérique, booléen), et les tableaux sont une certaine implémentation qui vous permet d'avoir des index numériques. Tout ce qui pousse à un tableau effectuera son length
, et peut être itéré en utilisant des méthodes Array ( map
, forEach
, reduce
, filter
, find
, etc.) Cependant, parce que tout est un objet, vous êtes toujours libre de simplement les propriétés Assigner, parce que quelque chose que vous faites pour n'importe quel objet. La notation entre crochets est simplement un autre moyen d'accéder à une propriété, donc dans votre cas:
array['Main'] = 'Main Page';
équivaut en fait à:
array.Main = 'Main Page';
D'après votre description, je suppose que vous voulez un «tableau associatif», mais pour JavaScript, il s'agit d'un cas simple d'utilisation d'un objet comme hashmap. Aussi, je sais que c'est un exemple, mais évitez les noms non significatifs qui décrivent uniquement le type de variable (par exemple array
), et le nom en fonction de ce qu'il devrait contenir (par exemple pages
). Les objets simples n'ont pas beaucoup de bons moyens directs d'itérer, donc souvent nous nous transformerons ensuite en tableaux en utilisant d'abord des Object
méthodes ( Object.keys
dans ce cas - il y en a aussi entries
et en values
cours d'ajout à certains navigateurs en ce moment) que nous pouvons boucler.
// 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));