Object.fromEntries(Object.entries(arr.reduce((acc, c) => (acc[c] = (acc[c] ?? 0) + 1, acc), {})).filter((pair) => pair[1] > 2)
вернёт объект
{значение: счётчик}
из элементов, которых «больше 2 шт». Для примера в вопросе вернёт
{1: 3}
, т.е. «единиц — было три»
Как работает
reduce()
'ом проходим по массиву, собирая словарь, где ключи – уникальные значения из массива, а значения – счётчики, сколько раз каждое встретилось.
Затем разбираем объект в массив пар [ключ, значение]
; фильтруем, оставляя только те, где значение > 2, и снова собираем в объект.