мне нужно удалить объекты, где повторяется id и нет значения isHide
давно была наподобие задача. объекты с isHide сразу тупо фильтром удалить, потом я получал массив только из ids(в твоем случае), удалить дубликаты из массива очень просто(погугли, там где Set и Spread используются), потом имея только массив с недублирующимися айдишниками, я,зная их индексы, сформировал уже выходной массив из объектов.