Вопрос №55640 от пользователя Аcя Калинина в уроке «Модификация», курс «JS: Массивы»
Добрый день! Направьте, меня, пожалуйста. https://ru.hexlet.io/code_reviews/420003
Добрый день, Анастасия! Чтобы разобраться с ошибкой, нужно изучить вывод тестов:
xpect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 3
- Array []
+ Array [
+ undefined,
+ ]
4 |
5 | test('get', () => {
> 6 | expect(swap([])).toEqual([]);
| ^
Тесты ожидают, что если передать в функцию пустой массив, вернется пустой массив, но фактически вернулся массив с undefined. Значит, функция работает некорректно с пустым массивом. Я вижу, что такая проверка есть у вас в коде. Нужно проверить, срабатывает ли она. Попробуйте поставить внутри console.log("!!!!!"). Если сообщение не выведется на экран, значит эта проверка не отрабатывает. В этом случае, нужно будет проверить условие в if, все ли там корректно.
Я изменила код, теперь работает с пустым массивом. Но возникла проблема, когда в массиве стало 2 элемента. https://ru.hexlet.io/code_reviews/420003
На самом деле, все гораздо проще :) И первая и вторая версия кода из ревью будут работать, если поправите опечатку в свойстве length
Да уж, спасибо) Не думала, что могу такую ошибку допустить. Надеюсь, в дальнейшем глаз будет заточен.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







