"создаём новый" - точнее будет сказать, делаем одно значение из массива (это может быть что угодно - другой массив, объект, число,... - нет проблем возвращать массив, а не как сейчас объект, или сумму всех числовых свойств, или ещё что-то), почитайте про reduce
...acc - это чтобы вернуть все предыдущие полученные результаты, почитайте про spread
ну и условие рекурсии прекращения рекурсии - да, значение должно быть примитивным
В слове "объект" нет мягкого знака. Исправляйте. И тэги тоже - зачем там php и html? Уберите.
А ещё могу дать бесплатный совет, как повысить вероятность и скорость получения подходящего ответа: надо дополнить текст вопроса ссылкой на рабочее демо - jsfiddle, codepen и т.п. вам в помощь.
Вы бы лучше рассказали, что пытаетесь сделать, а не как. Получение каких-то классов, которые, вообще-то, известны заранее - зачем это? Мне кажется, вы что-то не то делаете.
Это действительно вопрос, или такая замаскированная перепись телепатов и ясновидящих? - вы же не показали ни строчки кода. Лично я - пытаться угадать не буду, что там у вас может быть не так. Уверен, многие другие - тоже. Чтобы повысить вероятность получения ответа идите на codesandbox, например, воспроизводите там свою проблему, кидайте сюда ссылку.
Руслан Абсалямов, ошибаетесь. Поставьте mousedown и кликните на поле ввода, где есть выпадающий список. Потом поставьте click и тоже кликните. Сравните увиденный результат.