ArrayDelete |
Supprime le tableau |
|---|---|
| Lucee | |
Syntaxe
| ArrayDelete( array=array, value=object, scope=string ); |
Paramètres
| Nom | Description |
|---|---|
| array | Ce paramètre permet de spécifier le tableau dans lequel l'élément doit être supprimé. C'est le tableau "cible" de la suppression. |
| value | Ce paramètre permet de définir l'élément à supprimer du tableau. Tous les éléments correspondants à cette valeur seront retirés, selon le scope choisi. |
| scope | Ce paramètre permet d'indiquer si la suppression doit se limiter à la première occurrence de la valeur ou à toutes les occurrences. Les valeurs possibles sont généralement "one" (supprime uniquement la première occurrence) ou "all" (supprime toutes les occurrences correspondantes). |
Description
Cette fonction permet de supprimer l'objet spécifié du tableau donné.
Remarques
- La fonction ArrayDelete() permet de supprimer un ou plusieurs éléments d'un tableau en fonction de leur valeur. Elle modifie directement le tableau passé en paramètre, ce qui en fait une fonction à effet de bord. Après son exécution, le tableau ne contient plus l'élément spécifié, mais reste défini et réutilisable.
- Le paramètre array correspond au tableau cible dans lequel la suppression doit être effectuée. Il est nécessaire que ce tableau soit initialisé avant l'appel à la fonction, sinon une erreur sera générée. Tous les changements s'appliquent directement sur ce tableau, garantissant que les références externes restent cohérentes.
- Le paramètre value permet de définir l'élément à supprimer. Lucee recherchera les occurrences exactes de cette valeur dans le tableau et les retirera selon le paramètre scope. Cette approche fonctionne aussi bien pour des nombres que pour des chaînes de caractères ou des objets, à condition que les types correspondent exactement.
- Le paramètre scope contrôle la portée de la suppression. Si scope est défini sur "one", seule la première occurrence de la valeur est supprimée. Si scope est défini sur "all", toutes les occurrences correspondantes seront supprimées, ce qui est pratique pour nettoyer complètement un tableau contenant des doublons.
- ArrayDelete() peut être utilisé de deux manières : en tant que fonction globale ou en tant que méthode membre du tableau (arr.delete(value)). Les deux approches modifient directement le tableau et sont équivalentes, mais la méthode membre permet une syntaxe plus fluide et orientée objet.
- Cette fonction est particulièrement utile pour gérer dynamiquement les collections. Par exemple, lorsqu'un utilisateur retire des éléments d'une liste ou lorsqu'une valeur obsolète doit être supprimée d'un tableau utilisé dans un traitement répétitif, ArrayDelete() permet de maintenir le tableau à jour de manière simple et fiable.
- Il est important de noter que la suppression basée sur la valeur est sensible au type et à la casse. Ainsi, supprimer "12" d'un tableau [12, "12"] ne supprimera pas le nombre 12 si l'on fournit la chaîne "12". De même, pour les chaînes de caractères, la casse doit correspondre à moins d'utiliser une fonction complémentaire pour normaliser les valeurs.
- ArrayDelete() facilite la maintenabilité et la lisibilité du code en encapsulant la logique de suppression d'éléments dans une seule instruction. Plutôt que de parcourir manuellement un tableau avec une boucle et des conditions, cette fonction offre une solution concise, robuste et standardisée pour manipuler les collections dans Lucee.
Exemples
L'exemple suivant permet de supprimer un élément de tableau par sa valeur :
- <cfscript>
- arr = [12,0,1,2,3,4,5,6,7];
- dump(arr);
- arrayDelete(arr,4);
- dump(arr);
- </cfscript>
L'exemple suivant permet de supprimer un élément de tableau par sa valeur (fonction membre) :
Dernière mise à jour : Jeudi, le 14 Août 2025