Javascript : Filtrer les éléments d’un tableau

Javascript : Filtrer les éléments d'un tableau

En javascript, la fonction filter() permet de filtrer un tableau selon des critères définis dans une fonction de callback.

Imaginons ce tableau : 

let numbers = [8, 13, 26, 5, 10];

Nous voulons, par exemple, filtrer ce tableau et avoir un tableau regroupant seulement des éléments supérieurs à 8. Nous ferons simplement ceci : 

let filteredTable = numbers.filter(function(number) {
    return number > 8;
});

console.log(filteredTable);

Le résultat donnerait :

[13, 26, 10]

Ce qui s’est passé est que le tableau est parcouru et la fonction de callback vérifie que chaque élément du tableau (à travers le paramètre number) est supérieur à 8. Le paramètre number représente l’élément actuel en parcourant le tableau. lorsque l’élément vérifie la condition, il est inséré dans le nouveau tableau.
On pouvait aussi mettre la fonction de callback à part comme ceci : 

function filterT(number) {
    return number > 8;
}
let filteredTable = numbers.filter(filterT);

console.log(filteredTable);

Dans cette ligne : var filteredTable = numbers.filter(filterT); le paramètre de la fonction est passé implicitement.

Le même principe peut s’appliquer sur un tableau plus complexe comme un tableau d’objet par exemple: 

let persons = [
    {name: "John", lastname: "Doe"},
    {name: "Balo", lastname: "Ziétin"},
    {name: "John", lastname: "Badwin"}
];

let choice =  persons.filter(function(person) {
    return person.name == "John";
});

console.log(choice);

Et le résultat : 

[
    {name: "John", lastname: "Doe"}
    {name: "John", lastname: "Badwin"}
]

Dans cet exemple, on voulait filtrer et avoir un tableau des personnes ayant pour nom « John ».

Laisser un commentaire