DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des files, piles, listes et tableaux / Fonctions Tableau
  • Fonctionnement
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Renvoie un tableau contenant les éléments d'un tableau source pour lesquels une procédure renvoie Vrai.
Exemple
// Récupère le tableau de tous les clients
tabClient est un tableau de Client
 
// Construit le tableau des clients dont le compte est débiteur
tabClientDébiteur est un tableau de Client
tabClientDébiteur = Filtre(tabClient, UnClient => UnClient.Solde<0)
// -> conserver les chiffres pairs d'un tableau
// (syntaxe préfixée)
tab2 est un tableau d'entiers = [1, 2, 3, 4]
tab2 = tab2.Filtre( X => EstPair(X))
// tab2 = [2, 4]
Syntaxe
<Résultat> = Filtre(<Tableau source> , <Condition à vérifier>)
<Résultat> : Tableau WLangage
Tableau contenant les éléments du <Tableau source> pour lesquels la procédure <Condition à vérifier> renvoie Vrai.
<Tableau source> : Tableau WLangage
Nom de la variable de type Tableau à manipuler. Ce tableau doit être un tableau à une dimension.
<Condition à vérifier> : Procédure WLangage
Nom de la procédure WLangage à exécuter pour chaque élément du <Tableau source>. Cette procédure doit renvoyer Vrai ou Faux.
Cette procédure peut être :
  • une procédure globale ou locale,
  • une procédure interne.
Il est également possible d'utiliser directement une procédure lambda.
Remarques

Fonctionnement

La procédure <Condition à vérifier> est appelée pour chaque élément du tableau en passant cet élément en paramètre.
Si la procédure renvoie Vrai, l'élément du tableau source est stocké dans le tableau <Résultat>.

Enchaînement de fonctions
Il est possible d'enchaîner les différentes fonctions de manipulation d'un tableau.
Les fonctions suivantes peuvent être utilisées dans un enchaînement : Cet enchaînement pourra être utilisé comme source d'une instruction POUR TOUT ou se terminer par une des fonctions suivantes :
Exemple :
gnMoyenne = gtabUser.Filtre(cbFiltre).Transforme(cbTransforme).Moyenne()
Liste des exemples associés :
Les fonctions Filtre / Transforme / Agrège Exemples unitaires (WINDEV) : Les fonctions Filtre / Transforme / Agrège
[ + ] Cet exemple montre l'utilisation des fonctions Filtre / Transforme / Agrège.

Le concept de Filter / Map / Reduce (Filtre / Transforme / Agrège en français) permet de réaliser des opérations sur des collections de données de manière extrêmement concise.

La fonction Filtre permet de filtrer un tableau d'éléments de manière personnalisée (avec une procédure callback).

La fonction Transforme permet de transformer un tableau d'éléments, toujours avec une procédure callback.

La fonction Agrège permet d'agréger des données de manière personnalisée avec une procédure callback.

Ici, cet exemple permet de calculer l'âge moyen des femmes parmi les utilisateurs affichés dans un champ Table.
Composante : wd290vm.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Tableau d'objets et Filtre
Remarque importante :

Si le tableau contient des objets, le tableau filtré contient les références des objets qui correspondent au filtre.

Par conséquent, si un objet du tableau filtré est modifié, l'objet qui correspond dans le tableau d'origine est lui aussi modifié.
mlemaudit
09 sep. 2021

Dernière modification : 29/03/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale