Поделиться через


List.TransformMany

Синтаксис

List.TransformMany(list as list, collectionTransform as function, resultTransform as function) as list

Около

Возвращает список, элементы которого проецируются из входного списка.

Функция collectionTransform преобразует каждый элемент в промежуточный список, а функция resultTransform получает исходный элемент, а также элемент из промежуточного списка, чтобы создать окончательный результат.

Функция collectionTransform имеет сигнатуру (x as any) as list => ..., где x является элементом в list. Функция resultTransform определяет форму результата и имеет сигнатуру (x as any, y as any) as any => ..., где x является элементом из list, а y является элементом из списка, созданного путем передачи x в collectionTransform.

Пример 1

Привести список людей и их домашних животных к плоскому виду.

Использование

List.TransformMany(
    {
        [Name = "Alice", Pets = {"Scruffy", "Sam"}],
        [Name = "Bob", Pets = {"Walker"}]
    },
    each [Pets],
    (person, pet) => [Name = person[Name], Pet = pet]
)

Выход

{
    [Name = "Alice", Pet = "Scruffy"],
    [Name = "Alice", Pet = "Sam"],
    [Name = "Bob", Pet = "Walker"]
}