List.PositionOf
Vrátí posunutí hodnoty v seznamu.
Syntax
List.PositionOf(
list as list,
value as any,
optional occurrence as Occurrence.Type,
optional equationCriteria as any
) as any
Remarks
Vrátí posun, při kterém se zadaná hodnota zobrazí v seznamu. Pokud se hodnota nezobrazí, vrátí hodnotu -1.
list: Seznam, který se má prohledat.value: Hodnota, která se má najít v seznamuoccurrence: (Volitelné) Konkrétní výskyt, který se má nahlásit. Tato hodnota může býtOccurrence.First,Occurrence.LastneboOccurrence.All. Pokud není zadáno žádnéoccurrence, použije seOccurrence.First.equationCriteria: (Volitelné) Definuje, jak se určuje rovnost při porovnávání hodnot. Tento parametr může být funkce pro výběr klíče, funkce pro porovnání nebo seznam obsahující jak funkci pro výběr klíče, tak funkci pro porovnání.
Examples
Example #1
Vyhledá pozici v seznamu {1, 2, 3}, na které se vyskytuje hodnota 3.
List.PositionOf({1, 2, 3}, 3)
Result:
2
Example #2
Najít pozici v seznamu všech instancí kalendářních dat z roku 2022
let
Source = {
#date(2021, 5, 10),
#date(2022, 6, 28),
#date(2023, 7, 15),
#date(2022, 12, 31),
#date(2022, 4, 8),
#date(2024, 3, 20)
},
YearList = List.Transform(Source, each Date.Year(_)),
TargetYear = 2022,
FindPositions = List.PositionOf(YearList, TargetYear, Occurrence.All)
in
FindPositions
Result:
{1, 3, 4}
Example #3
Najít pozici v seznamu posledního výskytu slova „dog“ s ignorováním velikosti písmen
let
Source = List.PositionOf(
{"dog", "cat", "DOG", "pony", "bat", "rabbit", "dOG"},
"dog",
Occurrence.Last,
Comparer.OrdinalIgnoreCase
)
in
Source
Result:
6
Example #4
Najděte pozici v seznamu, která je v rozmezí dvou jednotek od čísla 28.
let
Source = { 10, 15, 20, 25, 30 },
Position = List.PositionOf(
Source,
28,
Occurrence.First,
(x, y) => Number.Abs(x - y) <= 2
)
in
Position
Result:
4
Category
List.Membership functions