Ответ 1
Как упоминалось в @günter-zöchbauer, ваша функция возвращает два разных типа. Если вы действительно хотите вернуть число в одном случае, а в противном случае - логическое, вы можете использовать any
в качестве возвращаемого значения для функции для исправления этой проблемы.
Однако, поскольку многие другие функции, такие как indexOf
, возвращают числа, даже если значение не было найдено, я предлагаю вам сделать то же самое. В вашем случае вы также можете вернуть -1
, если элемент не найден. Таким образом, вы можете быть явным о своих типах, а также предоставлять четкий интерфейс для других.
function getIndexInCompareList(result): number {
for (let i = 0; i < this.compare.length; i++) {
if (this.compare[i].resource.id == result.resource.id) {
return i;
}
}
return -1;
}