La función List.FirstN devuelve los primeros N elementos de una lista o los primeros elementos que satisfagan una cierta condición.
List.FirstN(
list as list,
countOrCondition as any
) as any
- list: lista de la que extraer los primeros elementos
- countOrCondition: número de elementos a extraer o condición que deberán satisfacer para ser seleccionados
Si el argumento countOrCondition es un valor numérico, se extraerá dicho número de elementos del comienzo de la lista. Si la lista no tiene tantos elementos como se haya indicado, se devuelve la lista completa.
Si se trata de una condición, la función extraerá los elementos del comienzo de la lista que la satisfagan hasta que encuentre el primero que no lo haga.
Si se especifica 0 como número de elementos a extraer, o si ningún elemento satisface la condición indicada, la función devuelve una lista vacía.
Si el argumento countOrCondition es un valor númerico, se extraen los primeros countOrCondition elementos. En el siguiente ejemplo se extraen los primeros 5 elementos de una lista formada por los números del 1 al 10:
List.FirstN(
{1..10},
5
)
List
Un clic en el enlace List nos devuelve la lista generada:
Si la lista no tiene tantos elementos como se haya especificado, se devuelve la lista completa:
List.FirstN(
{1..4},
5
)
List
La lista resultante es la siguiente:
Si el argumento countOrCondition es una condición, se extraerán los primeros valores que cumplan dicha condición. En el siguiente ejemplo se extraen todos los valores del comienzo de la lista que sean menores que 4:
List.FirstN(
{1..10},
each _ < 4
)
List
La lista resultante es la siguiente:
Debe tenerse en cuenta que, en este último caso, se extraen los primeros valores de la lista que cumplan la condición indicada. Es decir, la función dejará de evaluar la condición en cuanto encuentre el primer elemento que no la satisfaga. Por ejemplo, si partimos de la lista {1, 2, 3, 4, 5, 1, 2}, y especificamos que la condición sea que el valor en cuestión sea inferior a 4, solo se extraen los primeros tres elementos que la satisfacen, no los últimos dos que, aun cumpliendo la condición, lo hacen después de elementos que no la satisfacen (los elementos 4 y 5):
List.FirstN(
{1, 2, 3, 4, 5, 1, 2},
each _ < 4
)
List
La lista resultante es la siguiente: