Remi Forax
“In computer science, an array data structure, or simply an array, is a data structure consisting of a collection of elements (values or variables), each identified by at least one array index or key.”
source: Wikipedia.org - Array
“En informatique, la structure de données tableau, ou simplement tableau, est une structure de données consistant en une collection d'éléments (valeurs ou variables), chacun identifié par au moins un index de tableau ou clé.”
source : Wikipedia.org - Tableau
Un tableau en Javascript se déclare entre [ et ].
Les éléments sont séparés par des virgules.
Les tableaux sont hétérogènes, ils peuvent contenir des valeurs de types différents.
Les tableaux connaissent leur taille, accessible par la propriété length
Les cases d'un tableau sont accessibles par un index
Un accès hors des bornes (0, length -1) du tableau
renvoie undefined
La première case d'un tableau est à l'index 0
Les cases d'un tableau sont accessibles en lecture et écriture
Une boucle for de 0 à length - 1 permet de
parcourir tous les éléments
Permet d'indiquer une boucle sans écrire l'incrémentation
Cette boucle est plus lisible mais l'index n'est pas disponible !
On renvoie un tableau si on a plusieurs valeurs de retour.
Si le dernier paramètre est déclaré avec '...' (rest), les arguments sont mis dans un tableau.
Lors de l'appel de fonction l'opérateur '...' (spread) transfère les valeurs d'un tableau en tant qu'arguments.
L'opérateur spread '...' marche aussi pour la création de tableau.
On peut assigner plusieurs variables avec
la syntaxe [var1, var2, ...] = array.
On peut ignorer des valeurs avec une virgule sans nom et on peut indiquer que le reste va dans un tableau.
On peut combiner la declaration et l'assignation multiple avec
la syntaxe let [var1, var2, ...] = array.
indexOf() utilise == pour trouver la première occurence d'un élément et renvoie son index (ou -1)
lastIndexOf(), même chose mais pour la dernière occurrence
join(delimiteur) permet de créer une chaine de caractères avec tous les éléments séparés par un délimiteur
texte.split(delimiteur) permet de créer un tableau
à partir d'une chaîne de caratères en découpant
suivant le délimiteur
text.split() est le dual de array.join()
push() permet d'ajouter un élément à la fin d'un tableau
Il existe aussi une méthode pop qui retire le dernier élément permettant d'utiliser un tableau comme une pile
shift() décale les éléments vers la gauche
(supprime le premier élément)
unshift décale les éléments sur la droite
(insère le premier élément)
ces deux méthodes ont un temps d'exécution qui dépend du nombre d'éléments
slice(start, end) permet d'extraire la sous partie [start, end[ d'un tableau sous forme d'un nouveau tableau
contrairement aux méthodes précédentes, slice ne modifie pas le tableau sur lequel on appelle la méthode mais renvoie un nouveau tableau
splice(start, deleteCount, elements) supprime deleteCount éléments à l'index start et de les remplace par des elements
Attention à ne pas confondre slice et splice !
La méthode sort() permet de trier un tableau sur place
Par défaut, les comparaisons se font
sur les chaines de caractères.
ce qui n'est pas forcément ce que l'on veut !
On utilise une fonction de comparaison pour paramétrer sort(fun) !
doit renvoyer une valeur négative si la première valeur est plus petite, 0 si les deux valeurs sont égales et une valeur positive sinon
On peut utiliser une fonction anonyme pour simplifier le code.