Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.filter( )
|
collection.filter ( nomeMet {; param}{; param2 ; ... ; paramN} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
nomeMet | Texto |
![]() |
NOme da função a chamar para filtrar a coleção | |||||
param | Expression |
![]() |
Parâmetros para passar ao nomeMet | |||||
Resultado | Collection |
![]() |
Nova coleção que contém os elementos filtrados (shallow copy) | |||||
O método collection.filter( ) devolve uma nova coleção que contém todos os elementos da coleção original para os quais o resultado do método nomMet é true. Este método devolve uma cópia superficial, o que significa que os objetos ou coleções em ambas as coleções compartem a mesma referência. Se a coleção original for uma coleção compartida, a coleção devolvida também é uma coleção compartida.
Nota: este método não modifica a coleção original.
Em nomMet, passe o nome do método a utilizar para avaliar os elementos da coleção, junto com seu(s) parâmetro(s) em param (opcional). nomMet pode realizar qualquer prova, com ou sem os parâmetro(s), e deve devolver true em $1.result para cada elemento que cumpra a condição e portanto, para avançar a nova coleção.
nomMet recebe os parâmetros abaixo:
nomMet define os parâmetros abaixo:
Deseja obter a coleção de elementos de texto cuja longitude for 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"]
O código para o método LengthLessThan é:
C_OBJECT($1)
C_LONGINT($2)
If(Value type($1.value)=Is text)
$1.result:=(Length($1.value))<$2
End if
Deseja filtrar os elementos de acordo com seu 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}]
O código para TypeLookUp é:
C_OBJECT($1)
C_LONGINT($2)
If(OB Get type($1;"value")=$2)
$1.result:=True
End if
Produto: 4D
Tema: Coleções
Número
705249
Criado por: 4D v16 R6
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)