Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Sintaxis
List.PositionOfAny(
list as list,
values as list,
optional occurrence as nullable number,
optional equationCriteria as any
) as any
Acerca de
Devuelve el desplazamiento en el que aparece un elemento de la lista de valores especificada en una lista. Devuelve -1 si no se encuentra ninguna aparición.
-
list: La lista para buscar. -
values: la lista de valores que se van a buscar en la lista original. -
occurrence: (Opcional) La ocurrencia específica para informar. Este valor puede ser Occurrence.First, Occurrence.Last o Occurrence.All. Si no se especificaoccurrence, se usaOccurrence.First. -
equationCriteria: (Opcional) Especifica cómo se determina la igualdad al comparar valores. Este parámetro puede ser una función selectora de claves, una función de comparador o una lista que contenga un selector de claves y un comparador.
Ejemplo 1
Hallar la primera posición en la lista {1, 2, 3} en la que el valor 2 o 3 aparece.
Uso
List.PositionOfAny({1, 2, 3}, {2, 3})
Salida
1
Ejemplo 2
Busque la posición en la lista de todas las fechas de 2022 o 2023.
Uso
let
Source = {
#date(2021, 5, 10),
#date(2022, 6, 28),
#date(2023, 7, 15),
#date(2025, 12, 31),
#date(2022, 4, 8),
#date(2024, 3, 20)
},
YearList = List.Transform(Source, each Date.Year(_)),
TargetYear = {2022, 2023},
FindPositions = List.PositionOfAny(YearList, TargetYear, Occurrence.All)
in
FindPositions
Salida
{1, 2, 4}
Ejemplo 3
Busque la posición en la lista de la última aparición de la palabra perro o gato, ignorando mayúsculas y minúsculas.
Uso
let
Source = List.PositionOfAny(
{"dog", "cat", "DOG", "pony", "bat", "rabbit", "dOG"},
{"dog", "cat"},
Occurrence.Last,
Comparer.OrdinalIgnoreCase
)
in
Source
Salida
6
Ejemplo 4
Busque cualquier posición en la lista que esté dentro de dos unidades del número 17 o 28.
Uso
let
Source = { 10, 15, 20, 25, 30 },
Position = List.PositionOfAny(
Source,
{17, 28},
Occurrence.All,
(x, y) => Number.Abs(x - y) <= 2
)
in
Position
Salida
{1, 4}