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.
Cette fonction est utilisable :
  • sur les tableaux à une dimension,
  • Nouveauté 2024
    sur les tableaux associatifs.
    AndroidWidget AndroidJava Non disponible.
Exemple
Syntaxe
<Résultat> = <Tableau source>.Filtre(<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 peut être :
  • un tableau à une dimension.
  • Nouveauté 2024
    un tableau associatif.
    AndroidWidget AndroidJava Non disponible.
<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 source en passant en paramètre :
  • l'élément du tableau source,
  • Nouveauté 2024
    la clé de l'élément.
    Dans le cas d'un tableau simple, la clé correspond à l'indice de l'élément. Ce paramètre est optionnel.
    Dans le cas d'un tableau associatif, la clé correspond à la clé d'indexation des éléments.
    AndroidWidget AndroidJava Non disponible.
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
Amélioration du filtrage d'un tableau
Autoriser de filtrer un tableau à partir d'une variable

// Construit le tableau des clients dont le compte est débiteur
tabClientDébiteur est un tableau de Client
MontantMaxi est un réél = 300

tabClientDébiteur = tabClient.Filtre(UnClient => UnClient.Solde< MontantMaxi)
Dominique S.
06 oct. 2022

Dernière modification : 19/06/2023

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