Тут
https://stackblitz.com/edit/angular-2ic5vr
воспроизвёл пример из книжки, который хотел бы понять как работает в деталях.
Меня интересует только одна строка в файле product.repository.ts:
.filter((c, index, array) => array.indexOf(c) == index);
На входе имеется массив из названий категорий. В нём некоторые категории повторяются по нескольку раз. На выходе имеем тот же массив, но в котором названия категорий не повторяются.
Прежде всего мне непонятно зачем происходит сравнение с index. Как работает метод filter я представляю.
Объясните, что происходит в этой строке.