Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode filter() des instances de Array crée une copie superficielle d'une portion d'un tableau donné, filtrée pour ne contenir que les éléments du tableau d'origine qui passent le test implémenté par la fonction fournie.
Une fonction à exécuter pour chaque élément du tableau. Elle doit retourner une valeur vraie pour conserver l'élément dans le tableau résultant, et une valeur fausse sinon. La fonction est appelée avec les arguments suivants :
elementL'élément courant traité dans le tableau.
indexL'indice de l'élément courant traité dans le tableau.
arrayLe tableau sur lequel filter() a été appelée.
thisArg FacultatifValeur à utiliser comme this lors de l'exécution de callbackFn. Voir méthodes itératives.
Une copie superficielle du tableau donné contenant uniquement les éléments qui passent le test. Si aucun élément ne passe le test, un tableau vide est renvoyé.
La méthode filter() est une méthode itérative. Elle appelle la fonction callbackFn fournie une fois pour chaque élément d'un tableau, et construit un nouveau tableau contenant toutes les valeurs pour lesquelles callbackFn retourne une valeur vraie. Les éléments du tableau qui ne passent pas le test de callbackFn ne sont pas inclus dans le nouveau tableau. Consultez la section méthodes itératives pour plus d'informations sur le fonctionnement général de ces méthodes.
callbackFn n'est appelée que pour les indices du tableau qui ont une valeur assignée. Elle n'est pas appelée pour les cases vides dans les tableaux creux.
La méthode filter() est générique. Elle attend seulement que la valeur de this possède une propriété length et des propriétés à clé entière.
L'exemple suivant utilise filter() pour créer un tableau filtré dans lequel tous les éléments dont la valeur est inférieure à 10 ont été retirés.
L'exemple suivant retourne tous les nombres premiers du tableau :
Note : L'implémentation de estPremier() est uniquement à des fins de démonstration. Pour une application réelle, il serait préférable d'utiliser un algorithme fortement mémoïsé comme le Crible d'Ératosthène pour éviter les calculs répétés.
L'exemple suivant utilise filter() pour créer un tableau filtré contenant tous les objets sont différents de zéro, et des id numériques.
L'exemple suivant utilise filter() pour filtrer le contenu d'un tableau selon un critère de recherche.
L'argument array est utile si vous souhaitez accéder à un autre élément du tableau, en particulier lorsque vous n'avez pas de variable existante qui fait référence au tableau. L'exemple suivant utilise d'abord map() pour extraire l'identifiant numérique de chaque nom puis utilise filter() pour sélectionner ceux qui sont supérieurs à leurs voisins.
L'argument array n'est pas le tableau en cours de construction — il n'est pas possible d'accéder au tableau en cours de construction depuis la fonction de rappel.
filter() ignore les cases vides.
La méthode filter() lit la propriété length de this puis accède à chaque propriété dont la clé est un entier non négatif inférieur à length.
| ECMAScript® 2027 Language Specification # sec-array.prototype.filter |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 27 mars 2026 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.