Разбор

Функция frequencies возвращает объект с уникальными значениями массива в качестве ключей и их частотами в качестве значений.

Используем Array.prototype.reduce() для сопоставления уникальных значений с ключами объекта, добавляя их к существующим ключам каждый раз, когда встречается одно и то же значение.

Если передан не массив, то вернется null.

const frequencies = arr =>
  Array.isArray(arr)
    ? arr.reduce((aсс, v) => {
        aсс[v] = aсс[v] ? aсс[v] + 1 : 1;
        return aсс;
      }, {})
    : null;

// Пример:

frequencies(['a', 'b', 'a', 'c', 'a', 'a', 'b', 'b', 'c', 'z']);
// {a: 4, b: 3, c: 2, z: 1}