List.PositionOfAny
Gibt den ersten Offset eines Werts in einer Liste zurück.
Syntax
List.PositionOfAny(
list as list,
values as list,
optional occurrence as Occurrence.Type,
optional equationCriteria as any
) as any
Remarks
Gibt den Offset zurück, bei dem ein Element aus der angegebenen Liste von Werten in einer Liste angezeigt wird. Gibt -1 zurück, wenn kein Vorkommen gefunden wird.
list: Die zu durchsuchende Liste.values: Die Liste der Werte, die in der ursprünglichen Liste gesucht werden sollen.occurrence: (Optional) Das spezifische Vorkommen, das gemeldet werden soll. Dieser Wert kannOccurrence.First,Occurrence.LastoderOccurrence.Allsein. Wenn keinoccurrenceangegeben ist, wirdOccurrence.Firstverwendet.equationCriteria: (Optional) Gibt an, wie die Gleichheit beim Vergleichen von Werten bestimmt wird. Dieser Parameter kann eine Schlüsselauswahlfunktion, eine Vergleichsfunktion oder eine Liste sein, die sowohl eine Schlüsselauswahl als auch eine Vergleichsfunktion enthält.
Examples
Example #1
Ermittelt die erste Position in der Liste "{1, 2, 3}", an der der Wert 2 oder 3 erscheint.
List.PositionOfAny({1, 2, 3}, {2, 3})
Result:
1
Example #2
Suchen der Position in der Liste aller Instanzen von Datumsangaben aus 2022 oder 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
Suchen der Position in der Liste des letzten Vorkommens des Worts „Hund“ oder „Katze“, wobei die Groß-/Kleinschreibung ignoriert wird.
let
Source = List.PositionOfAny(
{"dog", "cat", "DOG", "pony", "bat", "rabbit", "dOG"},
{"dog", "cat"},
Occurrence.Last,
Comparer.OrdinalIgnoreCase
)
in
Source
Result:
6
Example #4
Suchen Sie eine beliebige Position in der Liste, die sich innerhalb von zwei Einheiten der Zahl 17 oder 28 befindet.
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