Filtrer un tableau en utilisant des fonctions de rappel en JavaScript

Filtrer un tableau en utilisant des fonctions de rappel en JavaScript

Le filtrage de tableaux est une opération courante en programmation, et JavaScript offre une méthode simple et efficace pour y parvenir : la méthode .filter(). Cette méthode permet de filtrer les éléments d'un tableau selon un certain critère, qu'il s'agisse d'objets, de chaînes de caractères, de nombres, etc. Elle est particulièrement utile pour supprimer facilement les éléments indésirables d'un tableau et créer un nouveau tableau contenant uniquement les éléments qui répondent à un critère spécifique.

La syntaxe de la méthode .filter() est la suivante : array.filter(function(currentValue, index, arr), thisValue). La fonction de rappel prend trois arguments : currentValue, index (optionnel) et arr (optionnel). La méthode retourne un nouveau tableau contenant les éléments pour lesquels la fonction de rappel a retourné true. Depuis ECMAScript 6, on peut utiliser une fonction fléchée pour simplifier la syntaxe.

Exemple d'utilisation de la méthode .filter()

Imaginons que nous ayons un tableau de nombres et que nous voulions créer un nouveau tableau contenant uniquement les nombres pairs. Voici comment nous pourrions utiliser la méthode .filter() pour y parvenir :

let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let evenNumbers = numbers.filter(function (number) {
  return number % 2 === 0;
});
console.log(evenNumbers); // [2, 4, 6, 8, 10]

La fonction de rappel prend en argument le nombre courant (number) et vérifie si ce nombre est pair en utilisant l'opérateur modulo (%). Si le nombre est pair, la fonction retourne true, et le nombre est inclus dans le nouveau tableau evenNumbers. Si le nombre est impair, la fonction retourne false, et le nombre est exclu du nouveau tableau.

LIRE AUSSI  Comment choisir le bon système de traitement de l'eau pour votre maison

Depuis ECMAScript 6, nous pouvons simplifier la syntaxe en utilisant une fonction fléchée :

let evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // [2, 4, 6, 8, 10]

Filtrer des objets dans un tableau

La méthode .filter() peut également être utilisée pour filtrer des objets dans un tableau. Prenons l'exemple d'un tableau d'objets représentant des personnes, avec des propriétés telles que l'âge, le nom et la ville. Si nous voulons créer un nouveau tableau contenant uniquement les personnes âgées de plus de 30 ans, nous pouvons utiliser la méthode .filter() de la manière suivante :

let people = [
  { name: "Alice", age: 28, city: "Paris" },
  { name: "Bob", age: 35, city: "New York" },
  { name: "Charlie", age: 42, city: "London" },
  { name: "David", age: 25, city: "Tokyo" }
];

let over30 = people.filter(person => person.age > 30);
console.log(over30);
// [{ name: "Bob", age: 35, city: "New York" }, { name: "Charlie", age: 42, city: "London" }]

La fonction de rappel prend en argument l'objet courant (person) et vérifie si la propriété age de cet objet est supérieure à 30. Si c'est le cas, la fonction retourne true, et l'objet est inclus dans le nouveau tableau over30. Si ce n'est pas le cas, la fonction retourne false, et l'objet est exclu du nouveau tableau.

En résumé, la méthode .filter() de JavaScript est un outil puissant et flexible pour filtrer les éléments d'un tableau en fonction de critères spécifiques. Grâce à sa simplicité d'utilisation et à sa compatibilité avec différents types de données, elle est devenue un incontournable pour les développeurs JavaScript souhaitant manipuler et nettoyer des données rapidement et efficacement.

Maximilien Descartes est un rédacteur chevronné spécialisé dans les FAQ, avec plus de quinze ans d’expérience. Diplômé en journalisme de l’Université de Paris-Sorbonne, il a commencé sa carrière en écrivant pour diverses publications en ligne avant de se concentrer sur la création et la gestion des FAQ. A travers son travail, il s’efforce de fournir des informations claires, concises et pertinentes pour faciliter la compréhension du lecteur. Lorsqu’il n’est pas en train de peaufiner les moindres détails d’une FAQ, vous pouvez le trouver en train de lire le dernier roman de science-fiction ou de parcourir la campagne française à vélo.

Laisser un commentaire