Index (JavaScript, array methods)
En JavaScript, un index est une position dans un tableaux, commençant à 0 pour le premier élément, 1 pour le second, et ainsi de suite. Plusieurs méthodes de tableau utilisent les indices pour accéder, modifier ou parcourir les éléments d'un tableau.
Voici quelques méthodes de tableau importantes qui utilisent les indices :
- Array.forEach : Parcourt chaque élément du tableau.
- Array.map : Crée un nouveau tableau en appliquant une fonction à chaque élément.
- Array.findIndex : Renvoie l'indice du premier élément qui satisfait une condition.
- Array.splice : Ajoute ou supprime des éléments à partir d'un certain indice.
Je vais te montrer des exemples en TypeScript pour chacune de ces méthodes :
1. forEach
Parcourt chaque élément du tableau et exécute une fonction pour chacun d'eux. L'indice est accessible en tant que second paramètre.
let fruits: string[] = ["apple", "banana", "cherry"];
fruits.forEach((fruit, index) => {
console.log(`Index: ${index}, Fruit: ${fruit}`);
});
2. map
Crée un nouveau tableau en appliquant une fonction à chaque élément. La fonction peut utiliser l'indice pour générer les nouveaux éléments.
let numbers: number[] = [1, 2, 3, 4];
let squares = numbers.map((num, index) => {
return num * num + index;
});
console.log(squares); // Output: [1, 5, 11, 19]
3. findIndex
Renvoie l'indice du premier élément qui satisfait une conditions donnée. Si aucun élément ne correspond, il renvoie -1.
let ages: number[] = [3, 10, 18, 20];
let adultIndex = ages.findIndex((age) => age >= 18);
console.log(adultIndex); // Output: 2 (puisque l'élément 18 est à l'indice 2)
4. splice
Permet d'ajouter ou de supprimer des éléments à partir d'un certain indice.
let animals: string[] = ["dog", "cat", "rabbit", "elephant"];
// Supprime 1 élément à l'indice 2 et ajoute "hamster"
animals.splice(2, 1, "hamster");
console.log(animals); // Output: ["dog", "cat", "hamster", "elephant"]
Explication détaillée
-
forEach:- La méthode
forEachprend une fonction de rappel qui est exécutée pour chaque élément du tableau. - Cette fonction de rappel peut prendre jusqu'à trois arguments : l'élément courant, l'indice de l'élément, et le tableau d'origine.
- La méthode
-
map:- La méthode
mapcrée un nouveau tableau avec les résultats de l'appel d'une fonction fournie sur chaque élément du tableau appelant. - Elle prend une fonction de rappel similaire à
forEach, où l'indice peut être utilisé pour transformer les éléments.
- La méthode
-
findIndex:- La méthode
findIndexrenvoie l'indice du premier élément qui satisfait la condition fournie dans une fonction de rappel. - Si aucun élément ne satisfait la condition,
findIndexrenvoie -1.
- La méthode
-
splice:- La méthode
splicemodifie le contenu d'un tableau en supprimant, remplaçant ou ajoutant des éléments. - Elle prend au moins deux arguments : l'indice de départ et le nombre d'éléments à supprimer. Ensuite, tu peux ajouter des éléments à insérer à cet indice.
- La méthode
Ces méthodes montrent comment les indices peuvent être utilisés de différentes manières pour parcourir, transformer et manipuler des tableaux en JavaScript. Les indices sont fondamentaux pour travailler avec les tableaux de manière efficace et flexible.
Bien sûr, voici une liste de notions avancées et intermédiaires en JavaScript et TypeScript pour approfondir tes compétences en manipulation des tableaux et en programmation en général :
Notions Intermédiaires
-
Filtres et Réductions
- Array.filter
- Array.reduce
- Array.reduceRight
-
Manipulation Avancée de Tableaux
- Array.concat
- Array.slice
- Array.flat et Array.flatMap
- Array.some et Array.every
-
Itération et Transformation
mapavancé avec des fonctions complexesfindetfindLast- Utilisation de
for...ofetfor...in
-
Tri et Recherche
- Array.sort
- Array.reverse
- Recherche binaire
Notions Avancées
-
Structures de Données Avancées
- Set et WeakSet
- Map et WeakMap
- Typed Arrays et Buffers (notamment en TypeScript)
-
Async & Await et Programmation asynchrone
- Promises (JavaScript)
- Utilisation de
asyncetawait - Manipulation de tableaux avec des fonctions asynchrones (
map,filter,reduceasynchrones)
-
ES6+ et Nouvelles Fonctionnalités
- Destructuring d'objets et de tableaux
- Utilisation des
restetspreadoperators (rest, spread operator) - Utilisation des modules et du système de ES6 Modules
-
Types Avancés en TypeScript
- types génériques
- Types conditionnels
- Intersections et Unions
- Mapped types et Types utilitaires
-
- RxJS (Reactive Extensions for JavaScript)
- observables (programmation) et Observers (programmation)
- Opérateurs réactifs (comme
mergeMap,switchMap, etc.)
Ressources Supplémentaires
-
Documentation Officielle
-
Livres
- "You Don't Know JS" (série) de Kyle Simpson
- "Eloquent JavaScript" de Marijn Haverbeke
- "Programming TypeScript" de Boris Cherny
-
Cours et Tutoriels
- FreeCodeCamp
- Codecademy
- Udemy (recherche des cours sur JavaScript et TypeScript)
En explorant ces notions et en pratiquant avec des projets réels, tu deviendras rapidement plus à l'aise avec la manipulation avancée des tableaux et la programmation en JavaScript et TypeScript en général.
