Les tableaux (Arrays) dans Apps Script

Un tableau (array) est un type d’objet spécial utilisé pour stocker une liste de valeurs. Vous utiliserez fréquemment les tableaux en travaillant avec Google Sheets et Apps Script.

Déclaration et initialisation d’un tableau

Voici comment déclarer et initialiser un tableau appelé couleurs. Les valeurs sont listées entre crochets ([ et ]) :

let couleurs = ["rouge", "bleu", "vert", "noir", "orange", "violet"];
Logger.log(couleurs); // [rouge, bleu, vert, noir, orange, violet]

Les tableaux utilisent un système d’indexation pour accéder aux valeurs à des positions spécifiques. Ce système commence à 0 et non à 1. Par exemple :

  • Index 0 : "rouge"
  • Index 1 : "bleu"
  • Dernier index : N - 1, où N est le nombre total de valeurs dans le tableau.

Voici un exemple d’accès aux valeurs d’un tableau :

Logger.log(couleurs[0]); // rouge
Logger.log(couleurs[1]); // bleu
Logger.log(couleurs[5]); // violet
Logger.log(couleurs[6]); // undefined (valeur inexistante)

Propriétés des tableaux

Tous les tableaux dans Apps Script possèdent des propriétés et des méthodes. Par exemple, la propriété length retourne le nombre de valeurs dans le tableau :

Logger.log(couleurs.length); // 6

Utiliser des tableaux pour stocker des données tabulaires

Un tableau peut contenir d’autres tableaux, ce qui permet de représenter des données tabulaires. Par exemple :

let etudiant1 = ["Paul", "Dupont", 3, "Petite section"];
let etudiant2 = ["Marie", "Durand", 4, "Moyenne section"];
let etudiant3 = ["Lucas", "Martin", 3, "Petite section"];
let etudiants = [etudiant1, etudiant2, etudiant3];
Logger.log(etudiants);

Le tableau etudiants contient trois tableaux, chacun représentant un étudiant (prénom, nom, âge, classe). Exemple d’accès :

Logger.log(etudiants[0][0]); // Ryan (prénom du premier étudiant)
Logger.log(etudiants[1][3]); // Pré-K (classe du deuxième étudiant)

Vous pouvez également modifier une valeur dans le tableau :

Logger.log(etudiants[2][2]); // 3
etudiants[2][2] = 4; // Correction de l'âge
Logger.log(etudiants[2][2]); // 4

Comment vérifier si une valeur est un tableau ?

Utilisez la fonction Array.isArray(valeur) pour vérifier si une valeur est un tableau :

let couleurs = ["rouge", "bleu", "vert"];
Logger.log(Array.isArray(couleurs)); // true

let age = 3;
Logger.log(Array.isArray(age)); // false

Méthodes des tableaux

Les tableaux disposent de nombreuses méthodes utiles pour manipuler leurs valeurs. Voici quelques-unes des méthodes les plus utilisées :

MéthodeUtilisation
join()Concatène les valeurs du tableau en une chaîne.
reverse()Inverse l’ordre des valeurs dans le tableau.
sort()Trie les valeurs du tableau.
push()Ajoute de nouvelles valeurs à la fin du tableau.
pop()Supprime la dernière valeur du tableau.
shift()Supprime la première valeur du tableau.
unshift()Ajoute de nouvelles valeurs au début du tableau.
splice()Ajoute ou supprime des valeurs au milieu du tableau.
concat()Concatène plusieurs tableaux en un seul.
indexOf()Recherche une valeur dans le tableau et retourne le premier index où elle est trouvée.
lastIndexOf()Recherche une valeur dans le tableau et retourne le dernier index où elle est trouvée.
every()Vérifie si toutes les valeurs du tableau répondent à une condition.
filter()Renvoie un nouveau tableau contenant les valeurs qui répondent à une condition.
forEach()Applique une fonction à chaque valeur du tableau.
map()Applique une fonction à chaque valeur et renvoie un nouveau tableau.
some()Vérifie si au moins une valeur du tableau répond à une condition.
reduce()Convertit les valeurs d’un tableau en une seule valeur en appliquant une fonction de réduction.
reduceRight()Identique à reduce(), mais commence par la fin du tableau.

Description détaillée et exemples pour chaque méthode

1. join()

let couleurs = ["rouge", "bleu", "vert"];
let resultat = couleurs.join(", ");
Logger.log(resultat); // "rouge, bleu, vert"

2. reverse()

let chiffres = [1, 2, 3];
chiffres.reverse();
Logger.log(chiffres); // [3, 2, 1]

3. sort()

let noms = ["Jean", "Anna", "Paul"];
noms.sort();
Logger.log(noms); // ["Anna", "Jean", "Paul"]

4. push()

let fruits = ["pomme", "banane"];
fruits.push("orange");
Logger.log(fruits); // ["pomme", "banane", "orange"]

5. pop()

let fruits = ["pomme", "banane", "orange"];
fruits.pop();
Logger.log(fruits); // ["pomme", "banane"]

6. shift()

let fruits = ["pomme", "banane"];
fruits.shift();
Logger.log(fruits); // ["banane"]

7. unshift()

let fruits = ["banane"];
fruits.unshift("pomme");
Logger.log(fruits); // ["pomme", "banane"]

8. splice()

let chiffres = [1, 2, 3, 4];
chiffres.splice(1, 2); // Supprime 2 valeurs à partir de l’index 1
Logger.log(chiffres); // [1, 4]

9. concat()

let tableau1 = [1, 2];
let tableau2 = [3, 4];
let resultat = tableau1.concat(tableau2);
Logger.log(resultat); // [1, 2, 3, 4]

10. indexOf()

let fruits = ["pomme", "banane", "orange"];
let index = fruits.indexOf("banane");
Logger.log(index); // 1

11. lastIndexOf()

let chiffres = [1, 2, 3, 2];
let index = chiffres.lastIndexOf(2);
Logger.log(index); // 3

12. every()

let chiffres = [2, 4, 6];
let resultat = chiffres.every(n => n % 2 === 0);
Logger.log(resultat); // true

13. filter()

let chiffres = [1, 2, 3, 4];
let pairs = chiffres.filter(n => n % 2 === 0);
Logger.log(pairs); // [2, 4]

14. forEach()

let fruits = ["pomme", "banane"];
fruits.forEach(fruit => Logger.log(fruit));
// Log : "pomme", "banane"

15. map()

let chiffres = [1, 2, 3];
let doubles = chiffres.map(n => n * 2);
Logger.log(doubles); // [2, 4, 6]

16. some()

let chiffres = [1, 3, 5];
let resultat = chiffres.some(n => n % 2 === 0);
Logger.log(resultat); // false

17. reduce()

let chiffres = [1, 2, 3, 4];
let somme = chiffres.reduce((acc, n) => acc + n, 0);
Logger.log(somme); // 10

18. reduceRight()

let mots = ["chat", "un", "est", "Ceci"];
let phrase = mots.reduceRight((acc, mot) => acc + " " + mot);
Logger.log(phrase); // "Ceci est un chat"

Vous deviendrez progressivement familier avec ces méthodes en écrivant du code et en construisant vos applications.


Exemple avancé avec des données tabulaires

Vous pouvez créer un tableau tabulaire en une seule instruction :

let etudiants = [
    ["Élise", "Lemoine", 3, "Petite section"],
    ["Théo", "Garnier", 3, "Petite section"],
    ["Emma", "Moreau", 4, "Moyenne section"]
];

Dans Apps Script, ce type de structure est essentiel pour manipuler des données stockées dans Google Sheets.


Avec ces bases, vous êtes prêt à utiliser les tableaux dans Apps Script pour manipuler et structurer vos données efficacement. Testez les exemples et explorez les méthodes pour approfondir vos connaissances.


La suite du cours Apps Script avec l’article : Les boucles dans Apps Script