Grupuj i licz elementy HTML według atrybutu danych w jQuery

Próbuję zgrupować każdą instancję atrybutu danych na listę z liczby wystąpień każdego atrybutu na stronie, używając jQuery. Podobny do grupowania kategorii lub tagów w sekcji wiadomości.

Na przykład chciałbym utworzyć coś takiego:

Kategoria 1 (5)Kategoria 2 (3)Kategoria 3 (1)

z tego html:

<ul class="categories">
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-1">Category 1</li>
   <li data-category="category-2">Category 2</li>
   <li data-category="category-2">Category 2</li>
   <li data-category="category-2">Category 2</li>
   <li data-category="category-3">Category 3</li>
</ul>

Jak mogę to osiągnąć w jQuery? Czy to możliwe?

questionAnswers(5)

yourAnswerToTheQuestion