La función List.LastN devuelve los últimos N elementos de una lista o los últimos elementos que satisfagan una cierta condición.
List.LastN(
list as list,
optional countOrCondition as any
) as any
- list: lista de la que extraer los últimos 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 final 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 final de la lista que la satisfagan hasta que encuentre el primero que no lo haga (recorriendo la lista de derecha a izquierda).
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 últimos countOrCondition elementos. En el siguiente ejemplo se extraen los últimos 5 elementos de una lista formada por los números del 1 al 10:
List.LastN(
{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.LastN(
{1..4},
5
)
La lista resultante es la siguiente:
Si el argumento countOrCondition es una condición, se extraerán los últimos valores que cumplan dicha condición. En el siguiente ejemplo se extraen todos los valores del final de la lista que sean mayores que 7:
List.LastN(
{1..10},
each _ > 7
)
List
La lista resultante es la siguiente:
Debe tenerse en cuenta que, en este último caso, se extraen los últimos 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, 5, 6, 1, 2, 3}, y especificamos que la condición sea que el valor en cuestión sea inferior a 4, solo se extraen los últimos tres elementos que la satisfacen, no los primeros dos que, aun cumpliendo la condición, lo hacen después (si recorremos la lista de derecha a izquierda) de elementos que no la satisfacen (los elementos 5 y 6):
List.LastN(
{1, 2, 5, 6, 1, 2, 3},
each _ < 4
)
List
La lista resultante es la siguiente: