Les tableaux sont des objets de haut-niveau semblables à des listes.
Créer un tableau et obtenir sa taille
const fruits = ['Apple', 'Banana']; console.log(fruits.length);// 2
Accéder (via son index) à un élément du tableau
const first = fruits[0];// Apple const last = fruits[fruits.length - 1];// Banana
Boucler sur un tableau
fruits.forEach(function(item, index, array) { console.log(item, index); // Apple 0 puis // Banana 1 });
Ajouter à la fin du tableau
const newLength = fruits.push('Orange'); // ["Apple", "Banana", "Orange"]
Supprimer le dernier élément du tableau
const last = fruits.pop(); // supprime Orange (à la fin) // ["Apple", "Banana"];
Supprimer le premier élément du tableau
const first = fruits.shift(); // supprime Apple (au début) // ["Banana"];
Ajouter au début du tableau
const newLength = fruits.unshift('Strawberry') // ajoute au début // ["Strawberry", "Banana"];
Trouver l'index d'un élément dans le tableau
fruits.push('Mango'); // ["Strawberry", "Banana", "Mango"] const pos = fruits.indexOf('Banana'); // 1
Trouver l'index d'un élément dans le tableau en fonction d'une condition
Grâce à la méthode findIndex
Ex :
let term_index = state.terms.findIndex(element => { return element.id === termId; });
Méthode "map"
où comment créer un nouveau tableau à partir d'un tableau existant selon une fonction de transformation
La méthode map() crée un nouveau tableau avec les résultats de l'appel d'une fonction fournie sur chaque élément du tableau appelant.
Ex :
const array1 = [1, 4, 9, 16]; // pass a function to map const map1 = array1.map(x => x * 2); console.log(map1); // expected output: Array [2, 8, 18, 32]
Méthode "filter"
où comment créer un nouveau tableau à partir d'un tableau existant en filtrant selon une condition
Ex :
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; const result = words.filter(word => word.length > 6); console.log(result); // expected output: Array ["exuberant", "destruction", "present"]
Supprimer un élément par son index
const removedItem = fruits.splice(pos, 1); // supprime 1 élément à la position pos // ["Strawberry", "Mango"]
Supprimer des éléments à partir d'un index
const vegetables = ['Cabbage', 'Turnip', 'Radish', 'Carrot']; console.log(vegetables); // ["Cabbage", "Turnip", "Radish", "Carrot"] var pos = 1, n = 2; var removedItems = vegetables.splice(pos, n); // n définit le nombre d'éléments à supprimer, // à partir de la position pos console.log(vegetables); // ["Cabbage", "Carrot"] (le tableau d'origine est changé) console.log(removedItems); // ["Turnip", "Radish"] (splice retourne la liste des éléments supprimés)
Copier un tableau
const shallowCopy = fruits.slice(); // crée un nouveau tableau qui contient les éléments de fruits // ["Strawberry", "Mango"]
Trier un tableau
Pour trier un tableau, on va utiliser une fonction de callback qui attend deux arguments. Les deux paramètres vont permettre de comparer les éléments deux par deux. Le classement des éléments du tableau est basé sur la valeur de retour de la fonction de callback.
Si la fonction retourne une valeur :
- > 0 alors, l'ordre des éléments sera inversé
- < 0, l'ordre des éléments restera inchangé
Attention, contrairement à filter ou à map, sort modifie le tableau initial
Exemple
const tableau = [{"id":2},{"id":5},{"id":1}]; tableau.sort(function (a, b) { if (a.id < b.id) return -1; if (a.id > b.id) return 1; // a doit être égal à b return 0; }); console.log("tableau trié par ordre d'id croissant : ", tableau); // version plus courte de la fonction de comparaison : tableau.sort(function (a, b) { return a.id - b.id; });