🎉 Вы можете найти новые и обновленные сообщения на ellehallal.dev
Восьмая неделя стажировки началась с прохождения Введение Codecademy в Javascript. Для ознакомления с основами вместе с Cochanger я решил повторить пару упражнений, которые делал ранее, без TDD:
- Физзбазз
- Конвертер римских цифр
Fizzbuzz был довольно простым. Несмотря на другой синтаксис, использование инструкции if else работало здесь так же, как и при выполнении задачи в Ruby. Однако упражнение с римскими цифрами было немного сложнее.
Конвертер римских цифр
Конвертер римских цифр должен быть в состоянии взять любое число и преобразовать его в римские цифры. Вот отличный пример: https://www.romannumerals.org/converter
Чтобы преобразовать введенное число, должен быть «словарь» для числа, с которым нужно сравнить. Словарь должен содержать пары ключ-значение, где целое число является ключом, а римская цифра для него — значением в виде строки.
Если число больше или равно ключу, значение должно быть добавлено к текущему пустому массиву, а затем ключ вычтен из числа. Этот шаг следует повторять, когда число сравнивается с каждым ключом, и продолжать до тех пор, пока число в конечном итоге не станет равным 0.
Когда это будет завершено, массив будет содержать все римские цифры для введенного пользователем числа. Последний шаг — объединить массив вместе, чтобы создать строку и вернуть ее.
Итерация Ruby Hash с использованием метода .each
Чтобы просмотреть каждое значение ключа в хэше, для него можно вызвать метод с именем .each. Метод .each позволяет вам получать доступ к парам ключ-значение отдельно, устанавливая переменные в качестве аргументов внутри каналов. Переменные можно использовать в каждом цикле для доступа к ключу и значениям в хеше.
Итерация объекта JavaScript
В JavaScript есть метод .forEach, который может перебирать объект и выполнять действие, однако есть некоторые отличия.
- Вызов .forEach для Object.entries(obj) — метод может быть вызван для записей объекта, а не непосредственно для самого объекта:
- Использование .reverse() для итерации пар ключ-значение по порядку. При использовании всего вышеперечисленного при итерации он начинается с пары ключ-значение 1: «I», а не с первого ключ-значение. пара значений в словаре (1000: «М»). Использование .reverse обеспечило итерацию в том порядке, в котором он отображается в объекте:
- Установка ключа и значения в качестве аргументов для .forEach в массиве — в Ruby аргументы ключа и значения задаются внутри каналов, где, как и в случае с .forEach, они объявляются внутри массива at:
Полезные ресурсы:
Вот несколько полезных сообщений о переполнении стека о том, как перебирать объект JavaScript:
На чем я хочу сосредоточиться на следующей неделе:
- Использование Jest для TDD в JavaScript
- Создание игры Tic Tac Toe на JavaScript
- Использование Капибары