Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v19.8
collection.findIndex( )

collection.findIndex( )  


 

collection.findIndex ( {posicIni ;} nomMetodo {; param {; param2 ; ... ; paramN}} ) -> Resultado 
Parámetro Tipo   Descripción
posicIni  Entero largo in Índice para comenzar la búsqueda
nomMetodo  Texto in Nombre del método a llamar para la búsqueda
param  Expresión in Parámetro(s) a pasar a nomMet
Resultado  Entero largo in Índice del primer valor encontrado, o indefinido si no se encuentra

El método collection.findIndex( ) devuelve el índice, en la colección, del primer valor para el cual nomMet, aplicado en cada elemento, devuelve true. El método devuelve -1 si ningún elemento de la colección se evaluó como true.

Nota: este método no modifica la colección original.

De forma predeterminada, collection.findIndex( ) busca en toda la colección. Opcionalmente, puede pasar en posicIni el índice del elemento desde el cual comenzar la búsqueda.

  • Si posicIni >= longitud de la colección (collection.length), el método devuelve -1 (no se realiza la búsqueda).
  • Si posicIni < 0, el fin de la colección se considera como el punto de inicio del cálculo de la posición (posicIni :=posicIni +length).
    Nota: incluso si posicIni  es negativo, la colección se sigue buscando de izquierda a derecha.
  • Si posicIni = 0, se busca en toda la colección (por defecto).

En nomMet, pase el nombre del método a usar para evaluar los elementos de la colección, junto con su(s) parámetro(s) en param (opcional). nomMet puede realizar cualquier prueba, usando o no los parámetros. Este método recibe un parámetro Object en $1 y debe establecer $1.result como true para el primer elemento que cumpla la condición.

nomMet recibe los siguientes parámetros:

  • en $1.value: valor del elemento a evaluar
  • en $2: param
  • en $N...: param2...paramN

nomMet define los siguientes parámetros:

  • $1.result (booleano): true si el valor del elemento coincide con la condición de búsqueda.
  • $1.stop (booleano, opcional): true para detener la retrollamada del método. El valor devuelto es el último calculado.

Ejemplo  

Usted desea encontrar la posición del primer nombre de la ciudad dentro de una colección:

 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

El código para el método es FindCity:

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



Ver también 

collection.find( )

 
PROPIEDADES 

Producto: 4D
Tema: Colecciones
Número 805256

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16 R6

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)