Alexey Pashkovsky

Привет, объясните, пожалуйста, по тестам.

it('testMap', () => {
    const map = make(); 

// Создаем пустую хэш-таблицу

    const result1 = get(map, 'key'); 

// Пытаемся получить из пустой хэш-таблицы значение ключа 'key'

    expect(result1).toBeNull(); 

// Там ничего нет, поскольку хэш-таблица в данный момент пуста, поэтому ожидаем получить null

    const result2 = get(map, 'key', 'value'); 

// Из этой же пустой хэш-таблицы пытаемся получить значение ключа 'key'

    expect(result2).toBe('value'); 

// В условии написано, что если в хэш-таблице нет ключа функция должна возвращать null. Не понимаю почему мы ожидаем от get получить значение 'value' ведь на данный момент хэш-таблица map по прежнему пуста ?

Спасибо.

4 0

Максим Литвинов

Здравствуйте. Обратите внимание, что в функцию передан третий аргумент 'value'. get(map, 'key', 'value'). Это то значение, которое должна вернуть функция в случае отсутствия ключа. По умолчанию он равен null, но здесь он передан, поэтому и должно вернуться value

1

Роман Ашиков

Приветствую, Алексей!

Процитирую условия задачи:

Параметр defaultValue — значение, которое функция возвращает, если в словаре нет ключа (по умолчанию равно null).

Максим дал правильный ответ. Мы явно передали defaultValue в вызове get(). Чтобы лучше разобраться в вопросе предлагаю обратиться к документации MDN — Параметры по умолчанию, там очень много хороших примеров.

Спасибо за помощь, Максим! :)

2

Alexey Pashkovsky

Задание решил, спасибо. Тут проблема в том что я пытаюсь найти логику в тех.задании, а правильный подход (зачастую как в жизни) не делать этого. Тогда все становится намного проще ;)

0

Роман Ашиков

Рад, что у вас всё получилось. Если что-то не до конца понятно, спрашивайте и будем разбираться вместе. :)

0

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

София 3 дня назад →

Здравствуйте! Объясните, пожалуйста, что происходит вот в этой строчке решения учителя? Почему currentKey з...

Денис Тоцкий 4 дня назад →

Всем привет! По заданию след условие: По сути в этом задании надо реализовать объекты. По понятным причинам...

Константин Лозовский 4 дня назад →

Доброго времени суток. Для определения коллизии, рассуждаю следующим образом: - Коллизия - ситуация, когда:...

Александр Кремнёв 23 мая 2020 →

Нужен какой-то толчок, никак не пойму что не работает (https://ru.hexlet.io/code_reviews/270018) Не пойму о...

Alexandra Ermakova 21 мая 2020 →

https://ru.hexlet.io/code_reviews/269184 я не понимаю, что должна делать функция get(), и не понимаю, прави...

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

Хекслет

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