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.find( )

collection.find( ) 


 

collection.find ( {posicIni ;} nomMet {; param {; param2 ; ... ; paramN}} ) -> Resultado 
Parámetro Tipo   Descripción
posicIni  Entero largo in Número del elemento de inicio de la búsqueda
nomMet  Texto in Nombre de la función a llamar para la búsqueda.
param  Expresión in Parámetro(s) a pasar a nomMet
Resultado  in Primer valor encontrado, o Undefined si no se encuentra

El método collection.find( ) devuelve el primer valor en la colección para el cual nomMet, aplicado en cada elemento, devuelve true.

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

De forma predetermina, collection.find( ) 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, se devuelve -1, y la búsqueda no se efectúa.
  • Si posicIni < 0, 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, con o sin el(los) parámetro(s). Este método recibe un parámetro Object en $1 y debe definir $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.

Usted desea obtener el primer elemento con una longitud inferior a 5:

 C_COLLECTION($col)
 $col:=New collection("hello";"world";4;"red horse";"tim";"san jose")
 $value:=$col.find("LengthLessThan";5) //$value="tim"

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

 C_OBJECT($1)
 C_LONGINT($2)
 If(Value type($1.value)=Is text)
    $1.result:=(Length($1.value))<$2
 End if

Usted desea encontrar el nombre de una ciudad dentro de una colección:

 C_COLLECTION($c)
 $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))
 $c2:=$c.find("FindCity";"Clanton") //$c2={name:Clanton,zc:35046}

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.findIndex( )

 
PROPIEDADES 

Producto: 4D
Tema: Colecciones
Número 805258

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)