Partager via


List.PositionOf

Syntaxe

List.PositionOf(
    list as list,
    value as any,
    optional occurrence as nullable number,
    optional equationCriteria as any
) as any

À propos

Retourne le décalage auquel la valeur spécifiée apparaît dans une liste. Retourne -1 si la valeur n’apparaît pas.

  • list: liste à rechercher.
  • value: valeur à rechercher dans la liste.
  • occurrence: (Facultatif) Occurrence spécifique à signaler. Cette valeur peut être Occurrence.First, Occurrence.Last ou Occurrence.All. Si occurrence n'est pas spécifié, Occurrence.First est utilisé.
  • equationCriteria: (Facultatif) Spécifie la façon dont l’égalité est déterminée lors de la comparaison des valeurs. Ce paramètre peut être une fonction de sélecteur de clé, une fonction de comparateur ou une liste contenant à la fois un sélecteur de clé et un comparateur.

Exemple 1

Recherche la position dans la liste {1, 2, 3} à laquelle la valeur 3 apparaît.

Utilisation

List.PositionOf({1, 2, 3}, 3)

Sortie

2

Exemple 2

Trouvez la position dans la liste de toutes les occurrences des dates de 2022.

Utilisation

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

Sortie

{1, 3, 4}

Exemple 3

Recherchez la position dans la liste de la dernière occurrence du mot 'chien', sans tenir compte de la casse.

Utilisation

let
    Source = List.PositionOf(
        {"dog", "cat", "DOG", "pony", "bat", "rabbit", "dOG"}, 
        "dog", 
        Occurrence.Last, 
        Comparer.OrdinalIgnoreCase
    )
in
    Source

Sortie

6

Exemple 4

Recherchez la position dans la liste qui se trouve dans deux unités du nombre 28.

Utilisation

let
    Source = { 10, 15, 20, 25, 30 },
    Position = List.PositionOf(
        Source, 
        28,
        Occurrence.First, 
        (x, y) => Number.Abs(x - y) <= 2
    )
in
    Position

Sortie

4

Critères d’équation