1. Главная страница
  2. ››
  3. Формулы
  4. ››
  5. Выявляет элементы большего массива, не попавшие в меньший массив - Upline Studio

Выявляет элементы большего массива, не попавшие в меньший массив - Upline Studio

Источник: https://batvai.by/useful

Цель

Есть список тех, кого вы позвали на ДР — a1

И список всех друзей — a3

Данная формула покажет кого из списка своих друзей не позвали на ДР.

Формула

a1 = [122,123,124]; // то что есть в исходном массиве
a3 = [122,123,124,125,126,127]; // то что есть в общем списке

letindex = map(a3, {userid: item, index: a1[indexOf(a1,item)]});
fil = filter(letindex, item.userid != item.index);
result = join(map(fil, item.userid),',');
result //результат

Объяснение

Где "table.current.firstWorkDay" — это ваша дата в UNIX формате из БД

  • Мы используем функцию map, чтобы пройтись по каждому элементу массива a3;
  • Для каждого элемента создаем объект с двумя свойствами: userid и index;
  • Значение userid берется из элемента массива a3, а index — это индекс элемента a3 в массиве a1;
  • Далее используем функцию filter, чтобы отфильтровать только те объекты, у которых userid и index неравны друг другу;
  • И наконец, мы преобразуем каждый объект в новый массив, беря только значение userid;
  • В итоге мы соединяем все значения в новом массиве, разделяя их запятой.

Если у вас дата находится в БД, используйте например, table.current.f2 вместо [122,123,124], где f2 - это номер столбца (см. ниже), то же самое и с [122,123,124,125,126,127]

screenshot01

screenshot01

Другие формулы Creatium

Перейти к списку формул Creatium

Logo Upline Studio Creatium

Наша команда Uplinestudio разрабатывает сайты под разные потребности клиентов. Одним из ключевых направлений в нашей разработке является создание сайтов на Creatium.

Оставить заявку

Работает на Creatium