La función List.PositionOfAny devuelve el índice en una lista de la primera aparición de cualquiera de los elementos indicados.
List.PositionOfAny(
list as list,
values as list,
optional occurrence as nullable number,
optional equationCriteria as any
) as any
- list: lista en la que realizar la búsqueda
- values: lista de valores a buscar
- occurrence: (opcional) número de ocurrencias del primer valor encontrado cuyos índices se desea devolver
- equationCriteria: (opcional) criterio de igualdad a aplicar a los elementos
Si no se encuentra ninguno de los elementos indicados, la función devuelve el valor -1.
La búsqueda se realiza de izquierda a derecha. El primer elemento recibe el índice 0.
Si se especifica un número de ocurrencias mayor que 1, la función devuelve una lista con -en teoría- los índices de dichas primeras N ocurrencias del primer valor encontrado. En la práctica devuelve el índice de todas las ocurrencias de los elementos encontrados.
Si deseamos encontrar la primera aparición de los números 3 o 4 en la lista {1, 2, 3, 4, 1, 2, 3}, podemos conseguirlo con la siguiente expresión:
List.PositionOfAny(
{1, 2, 3, 4, 1, 2, 3}, {3, 4}
)
2
En este ejemplo, la primera aparición de alguno de los valores buscado es la correspondiente al 3, que aparece en la posición 2 (recordemos que el valor situado en el extremo izquierdo recibe el índice 0).
Si, en el ejemplo anterior, especificamos que se devuelvan los índices de dos ocurrencias, el resultado es el siguiente:
List.PositionOfAny(
{1, 2, 3, 4, 1, 2, 3}, {3, 4}, 2
)
List
Un clic en el enlace List nos muestra el resultado obtenido:
Comprobamos que se devuelven todos los índices de los valores buscados, no solo los dos primeros.