Delen via


List.Positions

Syntaxis

List.Positions(list as list) as list

Over

Retourneert een lijst met offsets voor de opgegeven invoerlijst.

  • list: De invoerlijst.

Wanneer u List.Transform gebruikt om een lijst te wijzigen, kan de lijst met posities worden gebruikt om de transformatietoegang tot de positie te geven.

Voorbeeld 1

Zoek de verschuivingen van waarden in de lijst {1, 2, 3, 4, null, 5}.

Gebruik

List.Positions({1, 2, 3, 4, null, 5})

uitvoer

{0, 1, 2, 3, 4, 5}

Voorbeeld 2

Maak een tabel die een id aan elke klant toewijst op basis van de positie van de klant in de lijst.

Gebruik

let
    customers = {"Alice", "Bob", "Charlie", "Diana"},
    resultTable =
        Table.FromRecords(
            List.Transform(
                List.Positions(customers),
                each [
                    IDNumber = _ + 1,    // Make it 1-based
                    CustomerName = customers{_}
                ]
            ),
            type table [IDNumber = Int64.Type, CustomerName = text]
        )
in
    resultTable

uitvoer

#table (type table[IDNumber = Int64.Type, CustomerName = text],
{
    {1, "Alice"},
    {2, "Bob"},
    {3, "Charlie"},
    {4, "Diana"}
})