@GeorgeKay

Как отправить параметры в функцию, что используется в методе filter?

Как передать параметр 'queryParams' в функцию filterTabs2 и затем дальше в функцию fewType2 ?

у меня есть файл helpers.js, откуда я экспортирую функцию
const fewType2 = (typeItem) =>
  Object.keys(typeItem).some((key) => typeItem[key] === queryParams[key]);

export const filterTabs2 = ({ displayCondition }) => {
  if (!displayCondition) return true;

  if (Array.isArray(displayCondition)) return displayCondition.some(fewType2);

  return fewType2(displayCondition);
};


и есть другой файл, где я хочу использовать эту функцию
import { filterTabs2 } from '../helpers';

const columns = [
    {
      Header: t('ID'),
      accessor: 'id',
    },
    {
      Header: t('ID внешний'),
      accessor: 'sourceId',
      displayCondition: [{ sourceType: sourceTypeEnum.EXTERNAL_BOT }],
    },
];

const columnsFilter2 = columns.filter(filterTabs2);
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
@GeorgeKay Автор вопроса
const fewType2 = (queryParams) => {
  return function (typeItem) {
    return Object.keys(typeItem).some(
      (key) => typeItem[key] === queryParams[key]
    );
  };
};

export const filterTabs2 = (queryParams) => {
  return function ({ displayCondition }) {
    if (!displayCondition) return true;
    if (Array.isArray(displayCondition))
      return displayCondition.some(fewType2(queryParams));
    return fewType2(displayCondition);
  };
};


const columnsFilter2 = columns(t).filter(filterTabs2(queryParams));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:36
200000 руб./за проект
16 мая 2024, в 23:10
12000 руб./за проект