написать лучший код с цепочкой методов в javascript
Вместо теоретических построений давайте напишем программу, которая поможет понять цепочку методов. Мы напишем программу, чтобы определить, являются ли два слова анаграммами. Анаграммы - это слова, которые образованы перестановкой букв в слове.
Например, МЭРИ может быть преобразована в АРМИ, так что МЭРИ и АРМИ являются анаграммами. наша задача - написать функцию, чтобы определить, являются ли две строки анаграммами или нет. Напишем неоптимальное решение этой проблемы. Идея состоит в том, чтобы понять объединение методов, а не решать эту проблему наилучшим образом.
В нашем коде есть две функции.
- sort_string
- is_anagram
sort_string принимает строку и возвращает отсортированную строку. давайте посмотрим на это в действии.
поэтому в основном sort_string принимает строку в качестве входных данных и применяет к ней цепочку методов. Каждый метод возвращает объект, и для этого объекта мы снова вызываем другой метод. например, метод split для строки возвращает массив, и мы вызываем метод сортировки массива на нем в цепочке, которая снова возвращает массив, и мы вызываем для него метод соединения, который возвращает строку.
И для «mAry», и для «armY» наша функция sort_string возвращает «amry», а наша функция is_anagram просто сравнивает результат sort_string для обеих строк и возвращает true, если обе совпадают.
В цепочке методов каждый метод возвращает объект, который позволяет нам вызывать для него другой метод в цепочке.
Преимущества объединения методов:
- Меньше строк кода
- Не нужно думать об именах переменных для хранения промежуточных результатов.
- Смотрится шикарно. 😄
Это мой первый пост на Medium. Надеюсь, вам понравилось читать этот пост так же, как мне понравилось его писать. 🤗