Найти в Дзене
Дмитрий Измайлов

Цепочка методов в Javascript 🤔

Вместо того чтобы углубляться в теорию, давайте напишем программу для понимания цепочки методов. Мы напишем программу для определения того, являются ли два слова анаграммами. Анаграммы - это слова, которые образуются путем перестановки букв в слове. Например, MARY можно переставить так, чтобы получилось ARMY, поэтому MARY и ARMY - анаграммы. Наша задача - написать функцию, которая будет находить, являются ли две строки анаграммами или нет. Мы напишем субоптимальное решение для решения этой задачи. Идея заключается в том, чтобы понять цепочку методов, а не в том, чтобы решить эту задачу наилучшим возможным способом. В нашем коде есть две функции. сортировать_строку is_anagram sort_string принимает строку и возвращает отсортированную строку. давайте посмотрим ее в действии. Итак, sort_string принимает на вход строку и применяет к ней цепочку методов. Каждый метод возвращает объект, и на этом объекте мы снова вызываем другой метод. например, метод split на строке возвращает массив, и мы в

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

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

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

сортировать_строку

is_anagram

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

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

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

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

Преимущества цепочки методов:

Меньше строк кода

Не нужно думать об именах переменных для хранения промежуточных результатов.

Выглядит элегантно. 😄