23.01.2026
13

Sort

Sort

Sort — це блок для впорядкування даних. Він дозволяє відсортувати масив (список) елементів за заданими критеріями: за числом, текстом, напрямком (зростання / спадання), а також зберегти або змінити зв’язок між індексами та значеннями. 

Навігація

  1. Призначення блоку.
  2. Налаштування блоку.
  3. Робота з Compare Value {{value}}.
  4. Механіка сортування.
  5. Приклади використання.
  6. FAQ.


Призначення блоку

─────────────────────────────────────────────────────────────-

Блок використовується коли вам потрібно змінити порядок елементів у списку перед їх подальшою обробкою або виводом.

Типові задачі:

  • знайти останній або перший елемент (наприклад, найновіший контакт)
  • відсортувати список за id, created_at, price, priority
  • підготувати дані для коректної ітерації в Loop
  • забезпечити стабільний порядок елементів у флоу.

Блок може працювати з будь-якими об’єктами:
контакти, моделі, проєкти, папки, списки, аудиторії тощо.  


Налаштування блоку

─────────────────────────────────────────────────────────────-

Sort | Основні налаштування блоку


Інтерфейс блоку вимагає розуміння роботи з масивами.

1 -> Object to sort: Сюди передається масив, який треба відсортувати, зазвичай це масив із попереднього блоку (HTTP Request, JSON Parser, Declare Variable тощо).

  • Це має бути список (List), наприклад [10, 5, 20] або список об'єктів [{id:1}, {id:2}].
  • Поле працює виключно в режимі EXP, оскільки воно очікує змінну, а не статичний текст.

2 -> Maintain index association: Перемикач, що впливає на збереження ключів масиву.

  • Вимкнено (Сірий): Стандартний режим. Масив переіндексується (0, 1, 2...). Використовуйте це для звичайних списків (може призвести до втрати відповідності між даними).
  • Увімкнено (Синій): Режим збереження ключів. Якщо ви сортуєте асоціативний масив, де ключі мають значення, цей режим дозволить зберегти прив'язку "ключ-значення" після зміни порядку (кожен об’єкт залишається цілісним, просто змінюється порядок).

3 -> Sorting options: Тут ви задаєте правила сортування. Може бути одне або декілька.

4 -> Direction: Напрямок сортування.

  • Ascending — за зростанням (A → Z, 1 → 9)
  • Descending — за спаданням (Z → A, 9 → 1)

5 -> Compare as: Тип даних для порівняння.

  • Numbers — для чисел (price, timestamp, id).
  • Texts — для рядків (name, email, status, id (може бути текстове)).

6 -> Compare value: Критерій сортування. Визначає, що саме ми порівнюємо. (Детальніше у наступному розділі).

7 -> Кнопка "+ Add Item": дозволяє додати кілька рівнів сортування (наприклад, спочатку за "status", а потім за "created_at").


Робота з Compare Value {{value}}

─────────────────────────────────────────────────────────────-

Це найважливіше поле налаштувань. Тут ви вказуєте системі, по якому полю або значенню треба сортувати. Поле працює в режимі EXP і використовує спеціальну змінну {{value}}, яка позначає поточний елемент масиву під час перебору.

Варіант 1. Простий масив

Якщо у вас масив простих чисел або слів: [10, 50, 2, 5]

  • Що писати в полі: {{value}}
  • Логіка: Система бере саме число і порівнює його з іншими.

Було:

Sort | Результат до сортування


Стало:

Sort | Результат після сортування


Варіант 2. Масив об'єктів (Найчастіший кейс)

Якщо у вас список користувачів, де кожен елемент — це об'єкт:

JSON

[ { "id": 1, "name": "Alex", "age": 25 }, { "id": 2, "name": "Will", "age": 47 }, { "id": 3, "name": "Kelly", "age": 61 }, { "id": 4, "name": "Nensy", "age": 19 } ]

Ви не можете сортувати просто по {{value}}, бо незрозуміло, що важливіше: ім'я чи вік.

Було:

Sort | Результат до сортування


Стало:

Sort | Результат після сортування


Приклади для сортування масивів:

  • Сортування по ID: {{value}}['id']
  • Сортування по імені: {{value}}['name']
  • Сортування по ціні: {{value}}['price']
  • Сортування по вкладеному полю: {{value}}['company']['title']

Синтаксис: {{value}}["field_name"] — це стандартний спосіб звернутися до властивості об'єкта під час сортування.
Також тут можна застосовувати функції, наприклад
TO_NUMBER({{value}}['price']), щоб гарантувати коректність типу даних.


Механіка сортування

─────────────────────────────────────────────────────────────-

  • Блок отримує масив із Object to sort
  • Кожен елемент масиву підставляється в {{value}}
  • Значення з Compare value використовується для порівняння
  • Дані впорядковуються відповідно до правил
  • На виході — відсортований масив, доступний для наступних блоків


Приклади використання

─────────────────────────────────────────────────────────────-

HTTP Request + Sort

Ви отримали від API список моделей, але вони йдуть у випадковому порядку, потрібно відсортувати за id в алфавітному порядку.

  1. У полі Object to sort вставляємо змінну відповіді {{Body.data}}.
  2. У Sorting options обираємо:
    Direction: Ascending (за зростанням).
    Compare as: Texts (так як id містить текст в даному випадку).
    Compare value: {{value}}['id']

Результат: Список впорядковано по алфавіту від a - z.

Sort | Приклад HTTP Request + Sort


Sort + Loop

Після сортування даних блок Sort видає новий масив. Саме цю змінну (результат роботи блоку Sort) потрібно передавати в Loop для подальшої обробки, щоб ітерація відбувалася вже у правильному порядку.

Sort | Приклад Sort + Loop


FAQ

─────────────────────────────────────────────────────────────-

1. Чи змінює блок Sort оригінальний масив?
Ні, він створює новий відсортований масив у результатах своєї роботи. Оригінальна змінна залишається без змін.

2. Що таке {{value}}?
Це технічна змінна, яка існує тільки всередині налаштувань блоку Sort (та деяких інших блоків циклів). Вона динамічно підставляє "поточний предмет", який система "тримає в руках" у момент порівняння.

3. Чи можна сортувати за результатом обчислення?
Так. У полі Compare value можна писати вирази. Наприклад, {{value}}['price'] * {{value}}['quantity'] дозволить відсортувати замовлення за загальною вартістю, навіть якщо цього поля немає в базі, а є тільки ціна і кількість.

4. Чи можна сортувати не масив?
Ні. Блок працює тільки з масивами (List).