Contando as ocorrências / frequência dos elementos da matriz

Em Javascript, estou tentando pegar uma matriz inicial de valores numéricos e contar os elementos dentro dela. Idealmente, o resultado seria duas novas matrizes, a primeira especificando cada elemento exclusivo e a segunda contendo o número de vezes que cada elemento ocorre. No entanto, estou aberto a sugestões sobre o formato da saída.

Por exemplo, se a matriz inicial for:

5, 5, 5, 2, 2, 2, 2, 2, 9, 4

Em seguida, duas novas matrizes serão criadas. O primeiro conteria o nome de cada elemento exclusivo:

5, 2, 9, 4

O segundo conteria o número de vezes que esse elemento ocorreu na matriz inicial:

3, 5, 1, 1

Como o número 5 ocorre três vezes na matriz inicial, o número 2 ocorre cinco vezes e 9 e 4 aparecem uma ve

Procurei muitas soluções, mas nada parece funcionar e tudo o que tentei acabou sendo ridiculamente complexo. Qualquer ajuda seria apreciada

Obrigado :

questionAnswers(30)

yourAnswerToTheQuestion