Платформа
Решения
Кто использует Directual и почему?
Что можно сделать на платформе?
Какие отрасли подходят для Directual?
Материалы
Мы все знаем, что no-code разработка призвана упростить процесс создания приложений без использования традиционных методов программирования. Один из инструментов, которым пользуются no-code разработчики — Lodash, JavaScript-библиотека с функциями, которые значительно упрощают работу с массивами, объектами и функциями. В этом уроке объясняется, как использовать JavaScript-библиотеку Lodash для сортировки массивов в Directual.

Допустим, у вас есть массив-ссылка, созданный с помощью шага Find object, и теперь вам нужно отсортировать этот массив и составить список, содержащий следующую информацию в определённом порядке:
Шаг Find object позволяет искать объекты в различных структурах данных. Он также может:
В качестве примера используем структуру данных под названием Users. У неё всего три поля:

Теперь создадим новую структуру данных и назовём её My_struct. Эта структура данных также содержит три поля:

Конфигурация полей структуры данных

Типичный пример объекта
Теперь вам нужен сценарий, который выполнит за вас всю тяжёлую работу.

Создайте новый сценарий. Далее, на шаге Edit object, выберите структуру Users_to_display. Включите Coding Mode и введите следующее выражение:
_.sortByAll([ {{#user_ids}} { name: "{{name}}", age: {{age}} }, {{/user_ids}} ], ["age"]).map(function(i) { return i.name + ' – ' + i.age + ' years old' }).join(',')
Обратите внимание, что кавычки вокруг {{age}} не нужны, поскольку это значение — число. Согласно нотации JS числа и логические значения не заключаются в кавычки.
Это выражение позволяет вам применить метод sortByAll к массиву, затем собрать массив строк и, наконец, с помощью функции join преобразовать JS-массив в массив Directual.

Обратите внимание! Directual совместим только с версией Lodash 3.10.1.

Важно! Не забывайте, что массивы и массивы-ссылки в базе данных Directual являются строками, в которых элементы должны быть разделены запятой. Чтобы преобразовать JS-массив в массив Directual, используйте функцию .join(","), а функцию split(",") — чтобы преобразовать его обратно.
Хорошо, теперь пропустите объект через сценарий. Великолепно, не правда ли?

Вы также можете использовать шаблонизацию для массива, чтобы он выглядел ещё лучше:


Вы можете использовать метод sortByOrder, чтобы изменить порядок сортировки элементов:

Используйте `desc` — для сортировки по убыванию и `asc` — для сортировки по возрастанию.
Выражение должно выглядеть так:
_.sortByOrder([ {{#user_ids}} { name: "{{name}}", age: {{age}} }, {{/user_ids}} ], ["age"], ["desc"]).map(function(i) { return i.name + ' – ' + i.age + ' years old' }).join(',')

Вот как теперь выглядит результат
С Directual и Lodash можно сделать много интересного. Дерзайте, экспериментируйте! Если у вас возникнут трудности, не стесняйтесь обращаться за помощью в наше No-code сообщество. Также ознакомьтесь с нашим ускоренным курсом 101, чтобы узнать больше о Directual и его возможностях.