Преобразование определенного c метода в метод многократного использования с помощью Typescript - PullRequest
0 голосов
/ 18 июня 2020

У меня есть метод в моем компоненте, который строго используется для удаления повторяющихся значений из массива.

const removeDuplicateScenarios = (scenariosList: Scenario[]): Scenario[] => {
  return _.filter(scenariosList, el => _.filter(scenariosList, e => e.id === el.id).length === 1);
};

Однако я хочу полностью сделать это повторно используемым, насколько это возможно, при этом я не определяю типы явно, но выполняет свою работу.

const removeDuplicateValues = (values: []): [] => {
  return _.filter(values, el => _.filter(values, e => e.id === el.id).length === 1);
};

Является ли any единственным типом, который я могу использовать здесь?

Однако я получаю следующие ошибки:

TS2322: Type 'never[]' is not assignable to type '[]'.   
Types of property 'length' are incompatible.
Type 'number' is not assignable to type '0'.

Пожалуйста, посоветуйте .

1 Ответ

1 голос
/ 18 июня 2020

Можете ли вы использовать generi c? Документы по адресу https://www.typescriptlang.org/docs/handbook/generics.html

пример кода. Подробнее см. В документации по машинописному тексту.

function removeDuplicateValues<T>(values: T[]): T[] => {
  return _.filter(values, el => _.filter(values, e => e.id === el.id).length === 1);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...