Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v19.8
collection.findIndex( )

collection.findIndex( ) 


 

collection.findIndex ( {positionDépart ;} methodName {; param {; param2 ; ... ; paramN}} ) -> Résultat 
Paramètre Type   Description
positionDépart  Entier long in Numéro d'élément de départ de la recherche
methodName  Texte in Name of the function to call for the find
param  Expression in Paramètre(s) à passer à nomMéthode
Résultat  Entier long in Numéro du premier élément trouvé (-1 si non trouvé)

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_ENTIER LONG($val2;$val3)
 $c:=Creer collection
 $c.push(Creer objet("name";"Cleveland";"zc";35049))
 $c.push(Creer objet("name";"Blountsville";"zc";35031))
 $c.push(Creer objet("name";"Adger";"zc";35006))
 $c.push(Creer objet("name";"Clanton";"zc";35046))
 $c.push(Creer objet("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_OBJET($1)
 C_TEXTE($2)
 $1.result:=$1.value.name=$2



Voir aussi  

collection.find( )

 
PROPRIÉTÉS 

Produit : 4D
Thème : Collections
Numéro : 805256
Nom intl. : collection.findIndex( )

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

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v16 R6

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v19)
4D - Langage ( 4D v19.1)
4D - Langage ( 4D v19.4)
4D - Langage ( 4D v19.5)
4D - Langage ( 4D v19.6)
4D - Langage ( 4D v19.7)
4D - Langage ( 4D v19.8)