Array

L'objet Array permet de créer et manipuler des tableaux.

Objet Array

Définition[ ]

création d'un tableau :

1
const a = [] ; // crée un nouveau tableau vide
2
const b = [elt0,elt1,elt2...,eltn]; // crée un nouveau tableau contenant les n éléments
3
const element = a[0]; // a[0] représente le premier élément du tableau

Définitionlength

1
a.length;

La propriété length représente le nombre d'élément du tableau

1
const a = ["a","b","c"];
2
const b = a.length; // b = 3

DéfinitionindexOf

1
a.indexOf(valeur[, index]);

La méthode indexOf retourne l'index de la première occurrence de valeur dans le tableau (-1 si pas d’occurrence).

index permet de préciser l'index du tableau auquel démarrer la recherche.

1
const a = ["a","b","c"];
2
const b = a.indexOf("c")); // b = 2

Définitionconcat()

1
a.concat(element1 [,element2, element3...])

La méthode concat concatène des éléments qui peuvent être eux-mêmes des tableaux.

1
const a = ["a", "b", "c"];
2
a.concat("d", "e"); // ["a", "b", "c", "d", "e"]
3
a.concat(["f", "g"],["h", "i"]); // ["a","b","c","d","e","f","g","h","i"]

Avec l'opérateur de décomposition

1
let a = ["a", "b", "c"];
2
a = [...a, "d", "e"]; // ["a","b","c","d","e"]
3
a = [...a, ...["f","g"], ...["h","i"]]; // ["a","b","c","d","e","f","g","h","i"]

Définitionjoin()

1
a.join([symbole]);

La méthode join retourne le tableau sous forme de chaîne de caractères séparés par symbole.

symbole = "," par défaut.

1
const a = ["a","b","c"];
2
const b = a.join(); // "a,b,c"
3
const c = a.join(":"); // "a:b:c"

Définitionpush()

1
a.push(element1[,element2,element3...]);

La méthode push ajoute des éléments à la fin du tableau.

1
const a = ["a","b","c"];
2
a.push("d","e"); // ["a","b","c","d","e"]

Avec l'opérateur de décomposition

1
const a = ["a", "b", "c"];
2
const b = [...a, "d", "e"]; // ["a","b","c","d","e"]

Définitionunshift()

1
a.unshift(element1[,element2,element3...]);

La méthode unshift insère des éléments au début du tableau.

1
const a = ["a","b","c"];
2
a.unshift("d","e"); // ["d","e","a","b","c"]

Avec l'opérateur de décomposition

1
const a = ["a", "b", "c"];
2
const b = ["d","e",...a]; // ["d","e","a","b","c"]

Définitionpop()

1
a.pop();

La méthode pop supprime le dernier élément du tableau.

1
const a = ["a","b","c"];
2
a.pop(); // ["a","b"]

Définitionshift()

1
a.shift();

La méthode shift supprime le premier élément du tableau.

1
const a = ["a","b","c"];
2
a.shift(); // ["b","c"]

Avec l'opérateur de décomposition

1
const a = ["a", "b", "c"];
2
[,...a] = a; // ["b","c"]

Définitionslice()

1
a.slice(debut[,fin]);

La méthode slice retourne une partie d'un tableau, de debut à fin exclu.

fin = a.length par défaut.

1
const a = ["a","b","c","d","e"];
2
const b = a.slice(0,3); // ["a","b","c"]
3
const c = a.slice(2,4); // ["c","d"]

Définitionsplice()

1
a.splice(debut,nb[,element1,element2...]);

La méthode splice() supprime les nb éléments situés à partir de la position debut.

Si des arguments supplémentaires existent, ils sont insérés à partir de la position debut.

1
const a = ["a","b","c","d","e"];
2
a.splice(1,2,"f"); // ["a","f","d","e"]

Définitionreverse()

1
a.reverse();

La méthode reverse met le tableau à l'envers.

1
const a = ["premier","deuxième","troisième"];
2
a.reverse(); // ["troisième","deuxième","premier"]

Définitionsort()

1
a.sort([function(a,b){...}]);

La méthode sort trie un tableau par ordre croissant en considérant que les éléments sont des chaînes de caractères.

La fonction permet de modifier le critère de trie. Elle doit retourner un nombre négatif si a se place avant b et inversement et 0 en cas d'égalité.

1
const a = [4,12,3,7,1];
2
a.sort(); // [1,12,3,4,7] attention trie comme une chaîne de caractère

Pour trier numériquement :

1
const a = [4,12,3,7,1];
2
const croissant = function(a,b){
3
return a - b;
4
}
5
a.sort(croissant); // [1,3,4,7,12]
6
7
const decroissant = function(a,b){
8
return b - a;
9
}
10
a.sort(decroissant); // [12,7,4,3,1]

Écriture simplifiée :

1
const a = [4,12,3,7,1];
2
a.sort((a,b) => a - b); // [1,3,4,7,12]
3
a.sort((a,b) => b - a); // [12,7,4,3,1]

Autres exemples :

1
const tab = ['too','lalala','mama','ri'];
2
tab.sort((a,b) => a > b ? 1 : -1); // ['lalala','mama','ri','too']
3
tab.sort((a,b) => a < b ? 1 : -1); //  ['too','ri','mama','lalala']
4
tab.sort((a,b) => a.length - b.length); //  ['ri','too','mama','lalala']

DéfinitionforEach()

1
a.forEach(function([value, index, array]){...});

La méthode forEach, appelle une fonction sur chaque élément d'un tableau.

value : valeur de l'élément,

index : index de l'élément,

array : tableau a.

1
const a = [4,12,3,7,1];
2
let somme=0;
3
a.forEach(function(value){somme += value;}); // somme = 27

Additionne tous les éléments du tableau dans somme.

Écriture simplifiée :

1
const a = [4,12,3,7,1];
2
let somme=0;
3
a.forEach(x => somme += x); // somme = 27

Définitionmap()

1
a.map(function([value, index, array]){...});

La méthode map, appelle une fonction sur chaque élément d'un tableau, et retourne un tableau qui contient les résultats

value : valeur de l'élément,

index : index de l'élément,

array : tableau a.

1
const a = [4,12,3,10,1];
2
const b = a.map(function(value){return value % 2;}); // [0,0,1,0,1]

Retourne un tableau qui contient le reste de la division par 2 de chaque élément.

Écriture simplifiée :

1
const a = [4,12,3,10,1];
2
const b = a.map(x => x % 2); // [0,0,1,0,1]

Définitionfilter()

1
a.filter(function([value, index, array]){...});

La méthode filter, appelle une fonction sur chaque élément d'un tableau, et retourne un tableau qui contient les éléments pour lesquels la fonction retourne vrai.

value : valeur de l'élément,

index : index de l'élément,

array : tableau a.

1
const a = [4,12,3,10,1];
2
const b = a.filter(function(value){return !(value % 2);}); // [4,12,10]

Retourne un tableau qui contient les nombres divisibles par 2.

Écriture simplifiée :

1
const a = [4,12,3,10,1];
2
const b = a.filter(x => !(x % 2)); // [4,12,10]

Définitionevery()

1
a.every(function([value, index, array]){...});

La méthode every, appelle une fonction sur chaque élément d'un tableau, et retourne true si tous les éléments satisfont à la fonction.

value : valeur de l'élément,

index : index de l'élément,

array : tableau a.

1
const a = [4,12,8,10,14];
2
const reponse1 = a.every(function(value){return (value % 2 === 0);}); // true
3
const b = [4,1,8,10,14];
4
const reponse2 = b.every(function(value){return (value % 2 === 0);}); // false

Retourne si le tableau contient que des nombres pairs.

Écriture simplifiée :

1
const a = [4,12,8,10,14];
2
const reponse1 = a.every(x => !(x % 2)); // true
3
const b = [4,1,8,10,14];
4
const reponse2 = b.every(x => !(x % 2)); // false

Définitionsome()

1
a.some(function([value, index, array]){...});

La méthode some, appelle une fonction sur chaque élément d'un tableau, et retourne true si au moins un élément du tableau satisfait à la fonction.

value : valeur de l'élément,

index : index de l'élément,

array : tableau a.

1
const a = [4,12,8,10,14];
2
const reponse1 = a.some(function(value){return value % 2;}); // false
3
const b = [4,1,8,10,14];
4
const reponse2 = b.some(function(value){return value % 2;}); // true

Retourne si le tableau contient un nombre impair.

Écriture simplifiée :

1
const a = [4,12,8,10,14];
2
const reponse1 = a.some(x => x % 2); // false
3
const b = [4,1,8,10,14];
4
const reponse2 = b.some(x => x % 2); // true

Définitionreduce()

1
a.reduce(function(reponse, value, [index], [array]){...}, init);

La méthode reduce, appelle une fonction qui affecte dans son premier argument (reponse) le calcul de la fonction de callback et son deuxième argument (value) correspond aux valeurs du tableau.

reponse : valeur d'accumulation

value : valeur de l'élément,

index : index de l'élément,

array : tableau a.

init : valeur initiale de reponse

1
const somme = [1,2,3,4].reduce(function(s, x){return s+x}, 0); // 10
2
const sommeImpaire = [1,2,3,4].reduce(function(s,x){return x%2 ? s+x : s}, 0); // 4

Retourne la somme des nombres du tableau et la somme des nombres impairs du tableau.

Écriture simplifiée :

1
const somme = [1,2,3,4].reduce((s, x)=>s+x, 0); // 10
2
const sommeImpaire = [1,2,3,4].reduce((s,x)=>x%2 ? s+x : s, 0); // 4

DéfinitionAutres méthodes

La méthode find, retourne le premier élément qui respecte la fonction.

1
const pair = [1,5,10,4].find(x=>!(x%2)); // 10

La méthode findIndex, retourne l'index du premier élément qui respecte la fonction.

1
const pair = [1,5,10,4].findIndex(x=>!(x%2)); // 2

La méthode fill, modifie avec le premier argument, les cases d'un tableau situées entre le deuxième argument et le troisième argument.

1
const a = [1,2,3,4,5,6];
2
a.fill(0,1,3); // a = [1,0,0,4,5,6]

La méthode includes, retourne si un tableau contient une valeur.

1
const a = [1,2,3,4,5,6];
2
const reponse1 = a.includes(3); // true
3
const reponse2 = a.includes(3,4); // false, recherche 3 à partir de l'index 4