Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v19.8
collection.findIndex( )

collection.findIndex( )  


 

collection.findIndex ( {posInic ;} nomMet {; param {; param2 ; ... ; paramN}} ) -> Resultado 
Parâmetro Tipo   Descrição
posInic  Inteiro longo in Posição a iniciar a pesquisa
nomMet  Texto in Nome do método a chamar para a pesquisa
param  Expression in Parâmetros a passar ao nomeMet
Resultado  Inteiro longo in Índice do primeiro valor encontrado ou indefinido se não encontrado

O método collection.findIndex( ) devolve o índice, na coleção, do primeiro valor para o qual nomMet, aplicado em cada elemento, devolve true.  O método devolve -1 se nenhum elemento da coleção for avaliado como true.

Nota: este método não modifica a coleção original.

De forma pré-determinada, collection.findIndex( ) busca em toda a coleção. Opcionalmente, pode passar em posicIni o índice do elemento desde o qual começar a pesquisa.

  • Se posicIni >= longitude da coleção, se devolve Undefined, o que significa que não se realiza a pesquisa.
  • Se posicIni < 0, o fim da coleção se considera como o ponto de início de cálculo da posição (posicIni :=posicIni +length).
    Nota: mesmo se posicIni  for negativo, a coleção continua buscando de esquerda para direita.
  • Se posicIni = 0, se busca em toda a coleção (como padrão).

Em nomMet, passe o nome de método a usar para avaliar os elementos da coleção, junto com seus parâmetros em param (opcional). nomMet pode realizar qualquer prova, usando ou não os parâmetros. Este método recebe um parâmetro Object em $1 e deve estabelecer $1.result como true para o primeiro elemento que cumpra a condição.

nomMet recebe os  parâmetros abaixo:

  • em $1.value: valor do elemento a avaliar
  • em $2: param
  • em $N...: param2...paramN

nomMet define os parâmetros abaixo:

  • $1.result (booleano): true se o valor do elemento coincidir com a condição de pesquisa.
  • $1.stop (booleano, opcional): true para deter a retrochamada do método. O valor devolvido é o último calculado.

Exemplo  

Se quiser encontrar a posição do primeiro nome da cidade dentro de uma coleção:

 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

O código para o método é FindCity:

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



Ver também 

collection.find( )

 
PROPRIEDADES 

Produto: 4D
Tema: Coleções
Número 805256

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v16 R6

 
ARTICLE USAGE

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)