Получить ID пользователя по его фамилии.
let({
users: entries,
arr: split(replaceAll(data.fields.users, " ",""), ","),
m: map(entries, {id: item.id, lastName: item.lastName}),
},
join(map(filter(m, item.lastName in arr), item.id),",")
)
Эта формула Creatium выполняет следующие операции:
Создает словарь "m", где ключами служат идентификаторы пользователей ("id"), а значениями - их фамилии ("lastName"). Это делается с помощью функции map
, которая применяет указанную функцию (в данном случае, создание пары {id, lastName}) ко всем элементам списка "entries".
Заменяет все пробелы в строке "data.fields.users" на пустые строки с помощью функции replaceAll
и затем разделяет полученную строку на подстроки по запятой с помощью функции split
. Результатом этих операций становится массив "arr" из подстрок.
Фильтрует словарь "m", оставляя только те элементы, фамилии которых присутствуют в массиве "arr". Это делается с помощью функции filter
, которая применяет указанное условие (в данном случае, наличие фамилии в массиве "arr") ко всем элементам словаря "m".
Преобразует отфильтрованный словарь "m" обратно в строку, где идентификаторы пользователей разделены запятыми. Это делается с помощью функции join
, которая объединяет все элементы списка в одну строку, вставляя указанный разделитель (в данном случае, запятую) между элементами.
В итоге, эта формула возвращает строку идентификаторов пользователей, фамилии которых указаны в поле "data.fields.users".
Дмитрий Соловей — @solovey_nchub
Простой текст
Работает на Creatium