Retourner ' la page d'accueil de TJSRetourner ' la page d'accueil de TJS

Méthode : Array.filter()

Retourne un tableau contenant les éléments qui vérifient la fonction filtration()

Syntaxe
Array tab.filter(Function filtration(element, [indice [, origine]])

Compatible tous navigateurs

Description
Crée et retourne un nouveau tableau contenant tous les éléments du tableau d'origine qui vérifient bien la fonction de filtration.
La fonction filtration() est exécutée sur chaque élément du tableau d'origine tab. Si elle retourne true, l'élément est inclus dans le nouveau tableau.

La fonction de filtration reçoit jusque trois paramètres :
- element est l'élément en cours de manipulation
- indice est le numéro d'indice de l'élément en cours
- origine est le tableau d'origine complet

Dans la même idée, la méthode every() retourne true si tous les éléments du tableau vérifient une fonction de condition.


Exemple 1 : Fonction de filtration
Code source
<script type="text/javascript">
var monTab=[10, 8, 9, 15, 655, 25, 3, 18, 22];
console.log(monTab);
console.log(monTab.filter(function(valeur) {
 if (valeur%5===0) {
   return true;
 }
 return false;
}));
</script>

Résultat
Emulation de la console
Explication
Retourne un nouveau tableau contenant uniquement les nombres divisibles par 5

Exemple 2 : Fonction de filtration fléchée
Code source
<script type="text/javascript">
console.log(monTab.filter(valeur => valeur%5===0 ? true : false));
</script>

Résultat
Emulation de la console
Explication
Même opération avec une construction de la fonction en syntaxe fléchée et opérateur ternaire, nettement plus compacte.

Exemple 3 : Eliminer les doublons d'un tableau
Code source
<script type="text/javascript">
 function filtrerDoublon(elt, indice, tabOrigine) {
   console.log("indice="+indice+" elt="+elt+" indexOf="+tabOrigine.indexOf(elt));
   if (tabOrigine.indexOf(elt)==indice) {
      /* Si la valeur de l'élément est trouvée à l'indice en cours, on le garde */    
      return true;
   } else {
      /* Si la valeur de l'élément est trouvée ailleurs, c'est un doublon à filtrer */
      return false;
   }
 }

 var tab=["TJS", Math.PI, 2000, 10, "TJS", 3.141592653589793];
 console.log(tab);
 console.log("Lancement du filtre à doublons");
 console.log(tab.filter(filtrerDoublon));
</script>

Résultat
Emulation de la console
Explication
La méthode filter() semble particulièrement adaptée pour filtrer les doublons d'un tableau.

La fonction filtrerDoublon() affiche le fonctionnement dans la console. Elle ne garde que le premier élément trouvé.

Voir aussi les ensemble Set pour la suppression des doublons.

Page en rapport
Le tutorial tableaux JavaScript
Page mise à jour le

Troisième édition Tout JavaScript chez Dunod

Tout JavaScript le livre chez DunodEn savoir plus
Sortie le 4 janvier 2023

Version papier 29€90
Format électronique 22€99.

Commandez en ligne

Chercher une fonction, un objet, ...

Le 25/04/2024 18:42:42 sur php 7 en 65.34 ms