# JavaScript/Les tableaux

Les tableaux (array en anglais) sont des tableurs virtuels où peuvent être stockées des centaines d'informations à la fois. À la base, un tableau n'est qu'une simple variable. Il existe deux sortes de tableaux :
* les tableaux à indices numériques ;
* les tableaux associatifs.
Les valeurs d'un tableau peuvent être de tout type (booléen, nombre, chaîne de caractères, array...). JavaScript propose l’objet Array avec plusieurs méthodes permettant de manipuler les tableaux sans problème.

## Tableaux à indices numériques

Ce sont des tableaux où chaque valeur est associée à un indice (nombre entier positif).

### Déclaration

Voici comment déclarer un tableau à indices numériques en JavaScript et lui donner des valeurs initiales :

### Accès aux valeurs

Pour accéder aux valeurs d'un tableau à indices numériques, la seule possibilité est de passer par l'indice de chacune des valeurs contenues dans ce tableau. La numérotation des indices commence par 0 (zéro).

#### Listage des valeurs

Pour lister l'intégralité du tableau, il nous faut utiliser une boucle. Il va nous être utile de connaître la "longueur" du tableau (le nombre d'indice qu’il possède). Pour cela, on fait appel à la méthode length de l’objet Array. Ainsi, on accède aux valeurs de notre tableau grâce à ses indices comme ceci :

#### Affection de valeurs

Pour remplir un tableau avec une seule valeur (13 par exemple), on utilise une boucle.
Il existe des tableaux de tableaux de tableau... (ce sont des tableaux multidimensionnels). Ainsi, ceci est tout à fait faisable :

## Des outils pratiques

Même si nous n'avons pas encore vu comment marchaient les fonctions en JavaScript; il est à savoir que celui-ci met à disposition des fonctions pour la gestion des tableaux. En voici la liste des principales :
* concat(Tableau1, Tableau2[, Tableau3, ...]) : cette méthode permet de concaténer (coller) plusieurs tableaux pour n'en former plus qu'un seul.
* join(Tableau) ou Tableau.join ou Tableau.toString : renvoie tous les éléments (valeurs) de Tableau sous forme d'une chaîne de caractères.
* Tableau.toLocaleString : convertit un tableau en caractères.
* pop(Tableau) ou Tableau.pop : supprime le dernier élément de Tableau après avoir retourné sa valeur.
* Tableau.shift : supprime le premier élément de Tableau après avoir retourné sa valeur.
* Tableau.unshift(valeur1[, valeur2, ...]) : permet d'ajouter des éléments au début de Tableau.
* Tableau.push(valeur1[, valeur2, ...]) : permet d'ajouter des éléments à la fin de Tableau.
* Tableau.sort : permet de trier tous les éléments de Tableau.
* Tableau.reverse : inverse l’ordre des éléments de Tableau.
* Tableau.splice(début, fin, valeur) : écrase les valeurs des éléments dans Tableau dont l'indice est compris entre début et fin.
* Tableau.slice(début, fin) : retourne les éléments dont l'indice est compris entre fin et début.

## Objets

Les objets, omniprésents dans le JavaScript, peuvent être créés afin d'obtenir l'équivalent d'un tableau associatif, c'est-à-dire lorsque chacune de ses valeurs est associée à un nom.

### Déclaration

Pour créer un objet, on peut utiliser les deux syntaxes :
Pour attacher le nom à sa valeur, on utilise le signe mathématique égal comme ceci :
Ou on peut les attacher à la création de l’objet :

### Accès aux valeurs

Comme précédemment sauf qu'on utilise le nom associé à la variable au lieu de son indice :

#### Listage des valeurs

Pour lister les valeurs de l’objet mon_objet ci-dessus, on procède ainsi :
En effet, la boucle for(...in...) attribue à la variable nom_indice le nom de l'indice et passe au suivant à chaque itération. Il est à noter que cette méthode permet aussi de lister les noms d'indices si nécessaire.

#### Affectation de valeurs

Soit directement en utilisant le nom de l'indice:
Soit via la boucle for(...in...) (ici remise à 0 de toutes les valeurs de l'objet)
À présent, vous en savez assez sur la tableaux en JavaScript pour pouvoir continuer le cours tranquillement.
| Structures de contrôle | Boîtes de dialogues |