Les tableaux en JavaScript
Dans ce chapitre, nous allons explorer les tableaux en JavaScript.
En JavaScript, vous pouvez utiliser des tableaux pour stocker plusieurs valeurs dans une seule variable.
Nous pouvons décrire un tableau comme une variable unique capable de contenir plus d'une valeur simultanément.
Il existe deux syntaxes pour générer un tableau vide:
let arr = new Array();
let arr = [];
La deuxième syntaxe est utilisée la plupart du temps. Vous pouvez ajouter des éléments initiaux entre les crochets, comme ceci:
Vous pouvez également remplacer un élément comme suit:
Soit vous pouvez ajouter un nouveau à l'array, comme ceci:
La longueur du tableau length est le compte total des éléments. Voici un exemple:
Si vous allez montrer le tableau entier, vous pouvez utiliser console.log, comme ceci:
Un tableau est capable de stocker n'importe quel type d'éléments:
On peut considérer les tableaux comme un type spécial d'objet. Une des similitudes les plus notables est que les tableaux peuvent se terminer par une virgule.
Par exemple:
let books = [
"Html",
"Css",
"Javascript",
];
Méthodes
Un des usages les plus répandus des tableaux est une file d'attente. En informatique, c'est connu comme un assemblage ordonné d'éléments qui supportent les deux opérations suivantes:
push - est utilisé pour ajouter un élément à la fin
shift - est utilisé pour obtenir un élément au début, en faisant avancer la file d'attente. En conséquence, le deuxième élément devient le premier.
Les tableaux supportent les deux opérations mentionnées ci-dessus, et c'est une pratique courante pour les développeurs.
Vous pouvez utiliser des tableaux pour une autre pratique aussi. C'est une structure de données nommée pile, qui supporte deux opérations:
push - a pour objectif d'ajouter un élément à la fin.
pop - a pour objectif de prendre un élément de la fin.
En javascript, les tableaux fonctionnent comme une file d'attente et comme une pile. Avec l'aide des tableaux, vous pouvez ajouter ou supprimer des éléments au début ou à la fin.
Méthodes travaillant avec la fin d'un tableau
pop
Cette méthode est utilisée pour extraire et retourner le dernier élément du tableau. Par exemple:
push
Vous pouvez utiliser cette méthode pour ajouter l'élément à la fin du tableau, comme ceci:
Les appels livres.push(...) et livres[livres.length] = ... sont équivalents.
Méthodes travaillant avec le début du tableau
shift
Cette méthode vise à extraire et retourner le premier élément du tableau.
Par exemple:
unshift
Celui-ci est utilisé pour ajouter l'élément au début du tableau, comme suit:
Avec l'aide des méthodes push et unshift, vous pouvez ajouter simultanément différents éléments.
Jetons un coup d'oeil à cet exemple:
Internes
Comme nous l'avons mentionné plus haut, les tableaux sont un type spécial d'objet. Les crochets carrés peuvent être utilisés pour accéder à une propriété arr[0] provenant de la syntaxe de l'objet. Une chose rend un tableau encore plus spécial. C'est leur représentation interne. Le moteur tend à stocker ses éléments consécutivement dans la zone mémoire contiguë. Mais, notez qu'ils se rompront si vous cessez de travailler avec le tableau dans l'ordre donné et de le traiter comme un objet ordinaire.
Par exemple, il est techniquement possible d'agir comme ceci:
let books = []; // make an array
books[99999] = 5; // assign a property with the index far greater than its length
books.name = "Javascript"; // create a property with an arbitrary name
Il est disponible parce que les tableaux sont des objets. Vous avez la possibilité d'ajouter des propriétés à ceux-ci.
Vous devez également connaître les cas de mauvaise utilisation du tableau pour les éviter. Voici plusieurs exemples:
- Ajouter une propriété non numérique, telle que arr.test = 9.
- Faire des trous, comme ajouter arr[0] puis arr[500] en ne mettant rien entre eux.
- Remplir le tableau dans l'ordre inverse. Par exemple, arr[500], arr[499].
On peut supposer que l'on devrait traiter les tableaux comme des structures uniques en travaillant avec des données ordonnées.
Boucles
Une des façons courantes de parcourir les éléments d'un tableau est la boucle for sur les index.
Voici un exemple:
Une autre forme de boucle est for..of.
L'exemple ressemble à ceci:
Cette forme de la boucle ne donne pas accès au numéro de l'élément courant.
Comme les tableaux sont des objets, vous pouvez techniquement utiliser for..in:
Toutefois, ce n'est pas une bonne idée, car cela peut causer des problèmes potentiels, tels que:
- La boucle for..in peut itérer sur toutes les propriétés, pas seulement les propriétés numériques.
- La boucle for..in est optimisée pour les objets génériques mais pas pour les tableaux. C'est pourquoi elle est jusqu'à 10-100 fois plus lente.
La Longueur
Lorsque nous modifions le tableau, la propriété length se met à jour automatiquement. Ce n'est pas le nombre de valeurs dans le tableau, mais l'index numérique + 1. Par exemple, un seul élément avec un grand index donnera une grande longueur, comme ceci:
De toute façon, les développeurs n'utilisent pas les tableaux de cette façon.
La propriété length est modifiable. Lorsque vous la diminuez, le tableau est tronqué. Jetons un coup d'oeil à cet exemple:
Vous pouvez facilement vider le tableau en utilisant arr.length = 0;.
Création d'un nouveau tableau
Voici une autre syntaxe pour créer un tableau:
let arr = new Array("Html", "Css", "etc");
De toute façon, cette syntaxe n'est pas souvent utilisée.
Dans le cas où un new Array est appelé avec un seul argument, qui est un nombre. Après cela, il crée un tableau sans éléments, mais avec une longueur particulière:
Dans le code mentionné ci-dessus, tous les éléments sont undefined .
Tableaux multidimensionnels
Les tableaux peuvent avoir des éléments qui sont des tableaux, aussi. Ils peuvent être utilisés pour les tableaux multidimensionnels pour stocker des matrices:
Méthode toString
Les tableaux implémentent la méthode toString à leur manière. Elle renvoie une liste d'éléments séparés par des virgules. Voici un exemple:
Il y en a une autre aussi:
Mais ils n'ont pas de Symbol.toPrimitive ni de valueOf. Les tableaux mettent en œuvre uniquement la conversion toString. Ainsi, ici [] se transforme en "1" et [2,1] devient "2,1".
Si la somme binaire "+" opératrice ajoute quelque chose à une chaîne, elle le convertit en une chaîne de manière à ce que l'étape suivante ressemble à ceci:
Heure du Quiz : Testez Vos Compétences!
Prêt à relever le défi de ce que vous avez appris ? Plongez dans nos quiz interactifs pour approfondir votre compréhension et renforcer vos connaissances de manière ludique.