List.PositionOfAny
Retourneert de eerste verschuiving van een waarde in een lijst.
Syntax
List.PositionOfAny(
list as list,
values as list,
optional occurrence as Occurrence.Type,
optional equationCriteria as any
) as any
Remarks
Retourneert de verschuiving waarmee een item uit de opgegeven lijst met waarden wordt weergegeven in een lijst. Retourneert -1 als er geen exemplaar wordt gevonden.
list: de lijst die doorzocht moet worden.values: de lijst met waarden die in de oorspronkelijke lijst moeten worden gevonden.occurrence: (optioneel) het specifieke exemplaar dat moet worden gerapporteerd. Deze waarde kanOccurrence.First,Occurrence.LastofOccurrence.Allzijn. Als er geenoccurrenceis opgegeven, wordtOccurrence.Firstgebruikt.equationCriteria: (optioneel) geeft aan hoe gelijkheid wordt bepaald bij het vergelijken van waarden. Deze parameter kan een sleutelselectorfunctie, een vergelijkingsfunctie of een lijst met zowel een sleutelselector als een vergelijker zijn.
Examples
Example #1
De eerste positie in de lijst {1, 2, 3} opzoeken waar de waarde 2 of 3 staat.
List.PositionOfAny({1, 2, 3}, {2, 3})
Result:
1
Example #2
Zoek de positie in de lijst met alle exemplaren van datums van 2022 of 2023.
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
Result:
{1, 2, 4}
Example #3
Zoek de positie in de lijst met de laatste instantie van het woord hond of kat, waarbij hoofd- en kleine letters worden genegeerd.
let
Source = List.PositionOfAny(
{"dog", "cat", "DOG", "pony", "bat", "rabbit", "dOG"},
{"dog", "cat"},
Occurrence.Last,
Comparer.OrdinalIgnoreCase
)
in
Source
Result:
6
Example #4
Zoek een positie in de lijst binnen twee eenheden van het getal 17 of 28.
let
Source = { 10, 15, 20, 25, 30 },
Position = List.PositionOfAny(
Source,
{17, 28},
Occurrence.All,
(x, y) => Number.Abs(x - y) <= 2
)
in
Position
Result:
{1, 4}
Category
List.Membership functions