Вопрос №55736 от пользователя Kostya Pershin в уроке «Аккумулятор», курс «JS: Деревья»
Добрый день, почти решил задание, но почему-то в последнем условии он все соединяет в одну строку. Если попробовать сделать вручную, не используя path.join(), то он не дает вернуть массив, выдавая TypeError. Помогите разобраться, пожалуйста https://ru.hexlet.io/code_reviews/420983
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 | });
Прошу небольшой подсказки, ибо сам додумать не могу. Что бы я не пробовал - не проходит тесты. Если делать так, чтобы возвращался массив, выдает другую ошибку https://ru.hexlet.io/code_reviews/420983
Алгоритм решения задания:
- Получаем имя файловой системы
- Добавляем полученное имя в путь 'ancestry'
- Если текущий элемент файл и подстрока поиска входит в имя, то возвращаем 'ancestry' иначе пустой массив.
- Получаем имена детей и выполняем для них предыдущие шаги.
Смотрите пример из теории и подстраивайте под свое задание.
Вижу, что вы открыли решение учителя. Скажите, удалось ли вам с ним разобраться? Если остались вопросы по решению, задавайте, помогу разобраться.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







