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 : 

var 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 : 

var 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;
}
var 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: 

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

var 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".

Partager :
comments powered by Disqus

Suivez-moi sur Twitter

Copyright © 2010-2019 Lookman Design, tous droits réservés .