Tutoriel JavaScript

JS ACCUEIL Présentation de JS JS Où aller Sortie JS Déclarations JS Syntaxe JS Commentaires JS Variables JS JS Let Const JS Opérateurs JS Arithmétique JS Affectation JS Types de données JS Fonctions JavaScript Objets JS Événements JS Chaînes JS Méthodes de chaîne JS Recherche de chaîne JS Modèles de chaîne JS Numéros JS Méthodes de nombre JS Tableaux JS Méthodes de tableau JS Tri de tableau JS Itération de tableau JS Const tableau JS Dates JS Formats de date JS Méthodes d'obtention de date JS Méthodes de définition de date JS JS Mathématiques JS Aléatoire Booléens JS Comparaisons JS Conditions JS Commutateur JS Boucle JS pour Boucle JS pour dans Boucle JS pour de Boucle JS pendant Pause JS Itérables JS Ensembles JS Cartes JS Type de JS Conversion de type JS JS au niveau du bit JS RegExp Erreurs JS Portée JS JS Levage Mode JS strict JS ce mot clé Fonction flèche JS Cours JS JSJSON Débogage JS Guide de style JS Meilleures pratiques JS Erreurs JS Performances JS Mots réservés JS

Versions JavaScript

Versions JavaScript JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Historique JS

Objets JS

Définitions d'objet Propriétés de l'objet Méthodes d'objet Affichage d'objet Accesseurs d'objet Constructeurs d'objets Prototypes d'objets Itérables d'objet Ensembles d'objets Cartes d'objets Référence d'objet

Fonctions JavaScript

Définitions des fonctions Paramètres de fonction Appel de fonction Appel de fonction Fonction Appliquer Fermetures de fonction

Cours JS

Introduction de classe Héritage de classe Classe Statique

JS asynchrone

Rappels JS JS asynchrone JS promet JS asynchrone/en attente

JS HTML DOM

Introduction DOM Méthodes DOM Documents DOM Éléments DOM HTML DOM Formulaires DOM DOM CSS Animations DOM Événements DOM Écouteur d'événements DOM Navigation DOM Nœuds DOM Collections DOM Listes de nœuds DOM

Nomenclature du navigateur JS

Fenêtre JS Écran JavaScript Emplacement JS Historique JS Navigateur JS Alerte contextuelle JS Calendrier JS Cookies JavaScript

API Web JS

Présentation de l'API Web API des formulaires Web API d'historique Web API de stockage Web API de travail Web API de récupération Web API de géolocalisation Web

JS AJAX

Introduction à AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

JSJSON

Présentation JSON Syntaxe JSON JSON contre XML Types de données JSON Analyse JSON Chaîne JSON Objets JSON Tableaux JSON Serveur JSON JSON PHP HTML JSON JSON JSONP

JS contre jQuery

Sélecteurs jQuery jQuery HTML jQuery CSS jQuery DOM

Graphiques JS

Graphiques JS Canevas JS JS Complot JS Chart.js Graphique Google JS JS D3.js

Exemples JS

Exemples JS JS HTML DOM Entrée HTML JS Objets HTML JS Événements HTML JS Navigateur JS Éditeur JavaScript Exercices JS Questionnaire JS Certificat JS

Références JavaScript

Objets JavaScript Objets DOM HTML


Tableaux JavaScript

Un tableau est une variable spéciale, qui peut contenir plusieurs valeurs :

const cars = ["Saab", "Volvo", "BMW"];

Pourquoi utiliser un tableau ?

Si vous avez une liste d'éléments (une liste de noms de voitures, par exemple), le stockage des voitures dans des variables uniques pourrait ressembler à ceci :

let car1 = "Saab";
let car2 = "Volvo";
let car3 = "BMW";

Cependant, que se passe-t-il si vous voulez parcourir les voitures et en trouver une en particulier ? Et si vous n'aviez pas 3 voitures, mais 300 ?

La solution est un tableau !

Un tableau peut contenir plusieurs valeurs sous un seul nom, et vous pouvez accéder aux valeurs en vous référant à un numéro d'index.


Création d'un tableau

L'utilisation d'un littéral de tableau est le moyen le plus simple de créer un tableau JavaScript.

Syntaxe:

const array_name = [item1, item2, ...];      

Il est courant de déclarer des tableaux avec le mot-clé const .

Apprenez-en plus sur const avec des tableaux dans le chapitre : JS Array Const .

Exemple

const cars = ["Saab", "Volvo", "BMW"];

Les espaces et les sauts de ligne ne sont pas importants. Une déclaration peut s'étendre sur plusieurs lignes :

Exemple

const cars = [
  "Saab",
  "Volvo",
  "BMW"
];

Vous pouvez également créer un tableau, puis fournir les éléments :

Exemple

const cars = [];
cars[0]= "Saab";
cars[1]= "Volvo";
cars[2]= "BMW";

Utilisation du mot-clé JavaScript new

L'exemple suivant crée également un tableau et lui attribue des valeurs :

Exemple

const cars = new Array("Saab", "Volvo", "BMW");

Les deux exemples ci-dessus font exactement la même chose.

Il n'est pas nécessaire d'utiliser new Array().

Pour plus de simplicité, de lisibilité et de vitesse d'exécution, utilisez la méthode du tableau littéral.



Accéder aux éléments du tableau

On accède à un élément du tableau en se référant au numéro d'index :

const cars = ["Saab", "Volvo", "BMW"];
let car = cars[0];

Remarque : Les index de tableau commencent par 0.

[0] est le premier élément. [1] est le deuxième élément.


Modification d'un élément de tableau

Cette instruction change la valeur du premier élément dans cars:

cars[0] = "Opel";

Exemple

const cars = ["Saab", "Volvo", "BMW"];
cars[0] = "Opel";

Accéder au tableau complet

Avec JavaScript, le tableau complet est accessible en se référant au nom du tableau :

Exemple

const cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;

Les tableaux sont des objets

Les tableaux sont un type particulier d'objets. L' typeofopérateur en JavaScript renvoie "object" pour les tableaux.

Mais, les tableaux JavaScript sont mieux décrits comme des tableaux.

Les tableaux utilisent des nombres pour accéder à ses "éléments". Dans cet exemple, person[0] renvoie John :

Déployer:

const person = ["John", "Doe", 46];

Les objets utilisent des noms pour accéder à ses "membres". Dans cet exemple, person.firstName renvoie John :

Objet:

const person = {firstName:"John", lastName:"Doe", age:46};

Les éléments du tableau peuvent être des objets

Les variables JavaScript peuvent être des objets. Les tableaux sont des types particuliers d'objets.

Pour cette raison, vous pouvez avoir des variables de différents types dans le même Array.

Vous pouvez avoir des objets dans un tableau. Vous pouvez avoir des fonctions dans un tableau. Vous pouvez avoir des tableaux dans un Array :

myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;

Propriétés et méthodes des tableaux

La véritable force des tableaux JavaScript réside dans les propriétés et méthodes de tableau intégrées :

cars.length   // Returns the number of elements
cars.sort()   // Sorts the array

Les méthodes de tableau sont couvertes dans les chapitres suivants.


La propriété de longueur

La lengthpropriété d'un tableau renvoie la longueur d'un tableau (le nombre d'éléments du tableau).

Exemple

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let length = fruits.length;

La lengthpropriété est toujours une de plus que l'indice de tableau le plus élevé.


Accéder au premier élément du tableau

Exemple

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[0];

Accéder au dernier élément du tableau

Exemple

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[fruits.length - 1];

Éléments de tableau en boucle

Une façon de parcourir un tableau consiste à utiliser une forboucle :

Exemple

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fLen = fruits.length;

let text = "<ul>";
for (let i = 0; i < fLen; i++) {
  text += "<li>" + fruits[i] + "</li>";
}
text += "</ul>";

Vous pouvez également utiliser la Array.forEach()fonction :

Exemple

const fruits = ["Banana", "Orange", "Apple", "Mango"];

let text = "<ul>";
fruits.forEach(myFunction);
text += "</ul>";

function myFunction(value) {
  text += "<li>" + value + "</li>";
}

Ajout d'éléments de tableau

Le moyen le plus simple d'ajouter un nouvel élément à un tableau consiste à utiliser la push()méthode :

Exemple

const fruits = ["Banana", "Orange", "Apple"];
fruits.push("Lemon");  // Adds a new element (Lemon) to fruits

Un nouvel élément peut également être ajouté à un tableau à l'aide de la lengthpropriété :

Exemple

const fruits = ["Banana", "Orange", "Apple"];
fruits[fruits.length] = "Lemon";  // Adds "Lemon" to fruits

AVERTISSEMENT !

L'ajout d'éléments avec des index élevés peut créer des "trous" indéfinis dans un tableau :

Exemple

const fruits = ["Banana", "Orange", "Apple"];
fruits[6] = "Lemon";  // Creates undefined "holes" in fruits

Tableaux associatifs

De nombreux langages de programmation prennent en charge les tableaux avec des index nommés.

Les tableaux avec des index nommés sont appelés tableaux associatifs (ou hachages).

JavaScript ne prend pas en charge les tableaux avec des index nommés.

En JavaScript, les tableaux utilisent toujours des index numérotés .  

Exemple

const person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
person.length;    // Will return 3
person[0];        // Will return "John"

AVERTISSEMENT !!
Si vous utilisez des index nommés, JavaScript redéfinira le tableau en un objet.

Après cela, certaines méthodes et propriétés de tableau produiront des résultats incorrects .

 Exemple:

const person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
person.length;     // Will return 0
person[0];         // Will return undefined

La différence entre les tableaux et les objets

En JavaScript, les tableaux utilisent des index numérotés .  

En JavaScript, les objets utilisent des index nommés .

Les tableaux sont un type particulier d'objets, avec des index numérotés.


Quand utiliser les tableaux. Quand utiliser les objets.

  • JavaScript ne prend pas en charge les tableaux associatifs.
  • Vous devez utiliser des objets lorsque vous souhaitez que les noms d'éléments soient des chaînes (texte) .
  • Vous devez utiliser des tableaux lorsque vous voulez que les noms des éléments soient des nombres .

JavaScript nouveau tableau()

JavaScript a un constructeur de tableau intégré new Array().

Mais vous pouvez utiliser en toute sécurité à la []place.

Ces deux instructions différentes créent toutes deux un nouveau tableau vide nommé points :

const points = new Array();
const points = [];

Ces deux instructions différentes créent toutes deux un nouveau tableau contenant 6 nombres :

const points = new Array(40, 100, 1, 5, 25, 10);
const points = [40, 100, 1, 5, 25, 10];

Le newmot clé peut produire des résultats inattendus :

// Create an array with three elements:
const points = new Array(40, 100, 1);
// Create an array with two elements:
const points = new Array(40, 100);
// Create an array with one element ???
const points = new Array(40);  

Une erreur courante

const points = [40];

n'est pas la même chose que :

const points = new Array(40);
// Create an array with one element:
const points = [40];
// Create an array with 40 undefined elements:
const points = new Array(40);  

Comment reconnaître un tableau

Une question courante est : comment savoir si une variable est un tableau ?

The problem is that the JavaScript operator typeof returns "object":

const fruits = ["Banana", "Orange", "Apple"];
let type = typeof fruits;

The typeof operator returns object because a JavaScript array is an object.

Solution 1:

To solve this problem ECMAScript 5 (JavaScript 2009) defined a new method Array.isArray():

Array.isArray(fruits);

Solution 2:

The instanceof operator returns true if an object is created by a given constructor:

const fruits = ["Banana", "Orange", "Apple"];

fruits instanceof Array;

Complete Array Reference

For a complete Array reference, go to our:

Complete JavaScript Array Reference.

The reference contains descriptions and examples of all Array properties and methods.

Test Yourself With Exercises

Exercise:

Get the value "Volvo" from the cars array.

const cars = ["Saab", "Volvo", "BMW"];
let x = ;