La méthode filter() crée un nouveau tableau qui contient l'ensemble des éléments qui remplissent une condition fournie par la fonction de test passée en argument. Cette méthode utilise le même algorithme que Array.prototype.filter(). TypedArray est utilisé ici de façon générique pour représenter l'un des types de tableaux typés possibles.

Syntaxe

typedarray.filter(callback[, thisArg])

Paramètres

callback
Une fonction qui est utilisée pour tester chacun des éléments du tableau typé. Cette fonction est appelée avec trois arguments (élément, index, tableautypé). La fonction renvoie true si on souhaite conserver l'élément, false sinon.
thisArg Facultatif
La valeur à utiliser pour this lors de l'appel à callback.

Valeur de retour

Un nouveau tableau typé contenant les éléments qui remplissent la condition donnée par la fonction de rappel.

Description

La méthode filter() appelle une fonction callback appelée une fois pour chaque élément du tableau typé. Elle construit un nouveau tableau typé constitué des valeurs du tableau original pour lesquelles callback a renvoyé true. callback est appelée uniquement pour les éléments du tableau auxquels on a affecté une valeur, elle n'est pas appelé pour les éléments supprimés ou ceux qui n'ont jamais reçu de valeurs. Les éléments du tableau typé qui ne passent pas le test de la fonction ne sont pas inclus dans le nouveau tableau typé.

callback est appelée avec trois arguments :

  1. la valeur de l'élément
  2. l'indice de l'élément
  3. le tableau typé courant

Si le paramètre thisArg est fourni, il sera utilisé comme objet this lors de l'appel de la fonction callback. Sinon, la valeur undefined sera utilisée à la place. Par ailleurs, la valeur de this accessible depuis la fonction callback est déterminée selon les règles usuelles déterminant la valeur this au sein d'une fonction.

filter() ne modifie pas le tableau typé sur lequel elle a été appelée.

La liste des éléments parcourus par filter() est définie avant la première invocation de la fonction callback. Les éléments qui sont ajoutés au tableau typé après le début de l'appel de filter() (grâce à la fonction callback par exemple) ne seront pas visités. Si des éléments existants du tableau typé ont modifiés ou supprimés, la valeur fournie à la fonction callback sera leur valeur au moment où filter() les visite - les éléments supprimés ne seront pas traités par la fonction.

Exemples

Filtrer les valeurs inférieures à un seuil

Dans l'exemple qui suit, on utilise filter() pour créer un nouveau tableau typé qui contient uniquement les éléments supérieurs à 10.

function supSeuil(élément, indice, tableauTypé) {
  return élément >= 10;
}
new Uint8Array([12, 5, 8, 130, 44]).filter(supSeuil); 
// Uint8Array [ 12, 130, 44 ]

Filtrer les éléments d'un tableau typé avec les fonctions fléchées

Les fonctions fléchées permettent d'utiliser une syntaxe plus concise pour réaliser le même test que montré précédemment :

new Uint8Array([12, 5, 8, 130, 44]).filter(élém => élém >= 10); 
// Uint8Array [ 12, 130, 44 ]

Spécifications

Spécification État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'TypedArray.prototype.filter' dans cette spécification.
Standard Définition initiale.
ECMAScript Latest Draft (ECMA-262)
La définition de 'TypedArray.prototype.filter' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Support simpleChrome Support complet 45Edge Support complet 14Firefox Support complet 38IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Support complet OuiEdge Mobile ? Firefox Android Support complet 38Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Support complet Ouinodejs Support complet 4.0.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,