Вопрос №55736 от пользователя Kostya Pershin в уроке «Аккумулятор», курс «JS: Деревья»

Kostya Pershin

Добрый день, почти решил задание, но почему-то в последнем условии он все соединяет в одну строку. Если попробовать сделать вручную, не используя path.join(), то он не дает вернуть массив, выдавая TypeError. Помогите разобраться, пожалуйста https://ru.hexlet.io/code_reviews/420983

4 0

Вячеслав Павлов

Kostya Pershin, здравствуйте.

Метод join() объединяет все элементы массива в строку. Но тесты 'желают' видеть в результате массив. Сформируйте путь и возвращайте его в массиве.

  ● findFilesByName

    expect(received).toEqual(expected) // deep equality

    Expected: ["/etc/nginx/nginx.conf", "/etc/consul/config.json"]
    Received: "/etc/nginx/nginx.conf/etc/consul/config.json"

      21 |
      22 | test('findFilesByName', () => {
    > 23 |   expect(findFilesByName(tree, 'co')).toEqual([
         |                                       ^
      24 |     '/etc/nginx/nginx.conf',
      25 |     '/etc/consul/config.json',
      26 |   ]);
  ● findFilesByName 3

    expect(received).toEqual(expected) // deep equality

    Expected: ["/etc/consul/data"]
    Received: "/etc/consul/data"

      32 |
      33 | test('findFilesByName 3', () => {
    > 34 |   expect(findFilesByName(tree, 'data')).toEqual([
         |                                         ^
      35 |     '/etc/consul/data',
      36 |   ]);
      37 | });
0

Kostya Pershin

Прошу небольшой подсказки, ибо сам додумать не могу. Что бы я не пробовал - не проходит тесты. Если делать так, чтобы возвращался массив, выдает другую ошибку https://ru.hexlet.io/code_reviews/420983

0

Вячеслав Павлов

Алгоритм решения задания:

  • Получаем имя файловой системы
  • Добавляем полученное имя в путь 'ancestry'
  • Если текущий элемент файл и подстрока поиска входит в имя, то возвращаем 'ancestry' иначе пустой массив.
  • Получаем имена детей и выполняем для них предыдущие шаги.

Смотрите пример из теории и подстраивайте под свое задание.

1

Maksim Litvinov

Вижу, что вы открыли решение учителя. Скажите, удалось ли вам с ним разобраться? Если остались вопросы по решению, задавайте, помогу разобраться.

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев