написать лучший код с цепочкой методов в javascript

Вместо теоретических построений давайте напишем программу, которая поможет понять цепочку методов. Мы напишем программу, чтобы определить, являются ли два слова анаграммами. Анаграммы - это слова, которые образованы перестановкой букв в слове.

Например, МЭРИ может быть преобразована в АРМИ, так что МЭРИ и АРМИ являются анаграммами. наша задача - написать функцию, чтобы определить, являются ли две строки анаграммами или нет. Напишем неоптимальное решение этой проблемы. Идея состоит в том, чтобы понять объединение методов, а не решать эту проблему наилучшим образом.

В нашем коде есть две функции.

  1. sort_string
  2. is_anagram

sort_string принимает строку и возвращает отсортированную строку. давайте посмотрим на это в действии.

поэтому в основном sort_string принимает строку в качестве входных данных и применяет к ней цепочку методов. Каждый метод возвращает объект, и для этого объекта мы снова вызываем другой метод. например, метод split для строки возвращает массив, и мы вызываем метод сортировки массива на нем в цепочке, которая снова возвращает массив, и мы вызываем для него метод соединения, который возвращает строку.

И для «mAry», и для «armY» наша функция sort_string возвращает «amry», а наша функция is_anagram просто сравнивает результат sort_string для обеих строк и возвращает true, если обе совпадают.

В цепочке методов каждый метод возвращает объект, который позволяет нам вызывать для него другой метод в цепочке.

Преимущества объединения методов:

  • Меньше строк кода
  • Не нужно думать об именах переменных для хранения промежуточных результатов.
  • Смотрится шикарно. 😄

Это мой первый пост на Medium. Надеюсь, вам понравилось читать этот пост так же, как мне понравилось его писать. 🤗