@Atheist21

Map, почему функция возвращает массив а не Map?

Реализуйте функцию, которая принимает массив в качестве аргумента. Функция должна вернуть Map, в котором ключи - все уникальные элементы в массиве, а значения - количество этих элементов в массиве.
const getArraysCounts = (arr) => {
        [prop, ...other] = arr;
        const newArr = [];

        const count = other.filter((item) => item === prop).length + 1;
        other = other.filter((item) => item !== prop);
        newArr.push([prop, count]);

        if (other.length === 0) {
          return new Map(newArr);
        }
        return [...newArr, ...getArraysCounts1(other)];
      };

      const counts = getArraysCounts(data);
      console.log(new Map(counts));
      console.log(counts);

Подскажите пожалуйста, почему в функции не могу сразу вернуть объект Map()? А если присвоить результат функции в переменную и после подставить в new Map(), то все получается. В чем ошибка? и как сделать чтобы функция сразу выдавала Map?
  • Вопрос задан
  • 352 просмотра
Решения вопроса 1
Psixodelik
@Psixodelik
Преподаватель на Hexlet
Ну так что ты в итоге возвращаешь?

return [...newArr, ...getArraysCounts1(other)];

А должен возвращать Map
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы