Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Składnia
List.PositionOfAny(
list as list,
values as list,
optional occurrence as nullable number,
optional equationCriteria as any
) as any
Informacje
Zwraca przesunięcie, na którym na liście pojawia się element z określonej listy wartości. Zwraca wartość -1, jeśli nie znaleziono żadnego wystąpienia.
-
list: lista do wyszukania. -
values: lista wartości do znalezienia na oryginalnej liście. -
occurrence: (Opcjonalnie) Określone wystąpienie do raportowania. Może to być Occurrence.First, Occurrence.Last, lub Occurrence.All. Jeśli nieoccurrencezostanie określony,Occurrence.Firstzostanie użyty. -
equationCriteria: (Opcjonalnie) Określa sposób określania równości podczas porównywania wartości. Ten parametr może być funkcją selektora kluczy, funkcją porównującą lub listą zawierającą zarówno selektor klucza, jak i moduł porównujący.
Przykład 1
Znajdź pierwszą pozycję na liście {1, 2, 3}, na której jest wyświetlana wartość 2 lub 3.
Użycie
List.PositionOfAny({1, 2, 3}, {2, 3})
Wyjście
1
Przykład 2
Znajdź pozycję na liście wszystkich wystąpień dat z roku 2022 lub 2023.
Użycie
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
Wyjście
{1, 2, 4}
Przykład 3
Znajdź pozycję na liście ostatniego wystąpienia słowa pies lub kot, ignorując przypadek.
Użycie
let
Source = List.PositionOfAny(
{"dog", "cat", "DOG", "pony", "bat", "rabbit", "dOG"},
{"dog", "cat"},
Occurrence.Last,
Comparer.OrdinalIgnoreCase
)
in
Source
Wyjście
6
Przykład 4
Znajdź dowolną pozycję na liście, która znajduje się w odległości dwóch jednostek od liczby 17 lub 28.
Użycie
let
Source = { 10, 15, 20, 25, 30 },
Position = List.PositionOfAny(
Source,
{17, 28},
Occurrence.All,
(x, y) => Number.Abs(x - y) <= 2
)
in
Position
Wyjście
{1, 4}