Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.filter( )
|
collection.filter ( nomMet {; param}{; param2 ; ... ; paramN} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
nomMet | Texto |
![]() |
Nombre de la función a llamar para filtrar la colección | |||||
param | Expresión |
![]() |
Parámetro(s) a pasar a nomMet | |||||
Resultado | Collection |
![]() |
Nueva colección que contiene elementos filtrados (copia superficial) | |||||
El método collection.filter( ) devuelve una nueva colección que contiene todos los elementos de la colección original para los cuales el resultado del método nomMet es true. Este método devuelve una copia superficial, lo que significa que los objetos o colecciones en ambas colecciones comparten la misma referencia. Si la colección original es una colección compartida, la colección devuelta también es una colección compartida.
Nota: este método no modifica la colección original.
En nomMet, pase el nombre del método a utilizar 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), y debe devolver true en $1.result para cada elemento que cumpla la condición y por lo tanto, para avanzar a la nueva colección.
nomMet recibe los siguientes parámetros:
nomMet define los siguientes parámetros:
Desea obtener la colección de elementos de texto cuya longitud es menor que 6:
C_COLLECTION($col)
C_COLLECTION($colNew)
$col:=New collection("hello";"world";"red horse";66;"tim";"san jose";"miami")
$colNew:=$col.filter("LengthLessThan";6)
//$colNew=["hello","world","tim","miami"]
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
Desea filtrar los elementos de acuerdo con su tipo de valor:
C_COLLECTION($c)
$c:=New collection(5;3;1;4;6;2)
$c.push(New object("name";"Cleveland";"zc";35049))
$c.push(New object("name";"Blountsville";"zc";35031))
$c2:=$c.filter("TypeLookUp";Is real) // $c2=[5,3,1,4,6,2]
$c3:=$c.filter("TypeLookUp";Is object)
// $c3=[{name:Cleveland,zc:35049},{name:Blountsville,zc:35031}]
El código para TypeLookUp es:
C_OBJECT($1)
C_LONGINT($2)
If(OB Get type($1;"value")=$2)
$1.result:=True
End if
Producto: 4D
Tema: Colecciones
Número
705249
Creado por: 4D v16 R6
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)