4D v18

collection.findIndex( )

Accueil

 
4D v18
collection.findIndex( )

collection.findIndex( )  


 

La méthode collection.findIndex( ) retourne le numéro, dans la collection, du premier élément pour lequel nomMéthode retourne Vrai. La méthode retourne -1 si aucun élément n'est évalué à Vrai.

Note : Cette méthode ne modifie pas la collection d'origine. 

Par défaut, collection.findIndex( ) effectue une recherche dans la totalité de la collection. Optionnellement, vous pouvez passer dans positionDépart un numéro d'élément auquel débuter la recherche.

Dans nomMéthode, passez le nom de la méthode à utiliser pour évaluer les éléments de la collection, ainsi que son ou ses paramètre(s) dans param (optionnel). nomMéthode peut effectuer tout test, avec ou sans paramètres. La méthode reçoit un paramètre de type Objet dans $1 et doit retourner true dans $1.result pour le premier élément ayant satisfait aux conditions du test.

nomMéthode reçoit les paramètres suivants :

  • dans $1.value : valeur de l'élément à évaluer
  • dans $2 : param
  • dans $N... : param2...paramN

nomMéthode doit fixer le(s) paramètre(s) suivant(s) :

  • $1.result (booléen) : true si la valeur de l'élément correspond aux critères de recherche
  • $1.stop (booléen, optionnel) : true pour stopper le rétroappel de méthode. La valeur retournée est la dernière calculée.

Exemple  

Vous souhaitez trouver la position du premier nom de ville dans la collection :

 C_COLLECTION($c)
 C_LONGINT($val2;$val3)
 $c:=New collection
 $c.push(New object("name";"Cleveland";"zc";35049))
 $c.push(New object("name";"Blountsville";"zc";35031))
 $c.push(New object("name";"Adger";"zc";35006))
 $c.push(New object("name";"Clanton";"zc";35046))
 $c.push(New object("name";"Clanton";"zc";35045))
 $val2:=$c.findIndex("FindCity";"Clanton") // $val2=3
 $val3:=$c.findIndex($val2+1;"FindCity";"Clanton") //$val3=4

Le code de la méthode FindCity est :

 C_OBJECT($1)
 C_TEXT($2)
 $1.result:=$1.value.name=$2



Voir aussi  

collection.find( )

 
PROPRIÉTÉS 

Produit : 4D
Thème : Collections

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
PAGE CONTENTS 
 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v18)