🎉 Вы можете найти новые и обновленные сообщения на 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
  • Использование Капибары