Евгений Трифонов

Вроде не самое сложное задание, но затык произошел в самом неожиданном месте: пробовал при совпадении значений объекта массива и эталонного объекта добавлять пару ключ-значение в созданный аккумулирующий объект, а потом итоговый аккумулятор сравнивать с эталоном, но проверка упорно не проходила. Заменял аккумулирующий и эталонный объекты массивами и их сравнивал, бесполезно. Буду признателен, если кто подскажет, в чем кроется ошибка: https://ru.hexlet.io/code_reviews/214640?submission_id=271671 В итоге решил с помощью обычного счетчика: https://ru.hexlet.io/code_reviews/214640?submission_id=271663

1 0

Приветствую, Евгений!

Вот такая штука if (result === obj) никогда не сработает, так как даже если объекты содержат одинаковый набор свойств это разные объекты. Переменные result и obj содержат не сами объекты, а ссылки на них (точно так же как и массивы) и делая строгое сравнение, происходит сравнение ссылок, а не объектов.

Также второй момент состоит в том, что объект where не обязательно должен содержать все свойства, которые могут быть в исходных объектах. Поэтому result в итоге будет лишь частью объекта obj (в вашем случае).

1

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

Andrey G 6 дней назад →

По заданию функция возвращает первый элемент исходного массива, значения которого соответствуют переданным ...

Петр Хлопцев 13 февраля 2020 →

Добрый день. Посмотрите пожалуйста ревью (https://ru.hexlet.io/code_reviews/213626). Подскажите как более г...

hummel 01 февраля 2020 →

Добрый день. В задании: "возвращает первый элемент исходного массива, значения которого соответствуют перед...

Ihar Spurhiash 01 февраля 2020 →

Есть лёгкое дополнение к решению учителя: // вложенный цикл из решения for (const [key, value] of entries)...

Вячеслав Кадеркин 31 января 2020 →

Так получилось, что вернулся к этим курсам после прохождения второго проекта, так как они заменили предыдущ...

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Javascript, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →