Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Map. В чем особенность? Какие свойства и методы есть? Как перебрать?
Map — это коллекция, которая хранит пары ключ-значение и позволяет использовать ключи любого типа, в отличие от обычных объектов. Она имеет методы для добавления, удаления и получения элементов, такие как set(), get(), delete() и has(). Перебирать элементы в Map можно с помощью методов forEach() или с помощью цикла for...of, что делает работу с этой структурой данных удобной и гибкой.
WeakMap. В чем особенность? Какие свойства и методы есть? Как перебрать?
WeakMap — это коллекция пар ключ-значение, где ключи могут быть только объектами, а значения могут быть любого типа. Главная особенность WeakMap заключается в том, что он не удерживает сильные ссылки на ключи, что позволяет сборщику мусора автоматически очищать элементы, если на них больше нет ссылок. У WeakMap есть методы set(), get(), has() и delete(), однако его нельзя перебрать с помощью обычных методов, так как WeakMap не предоставляет итераторов.
Что такое mapped types в TypeScript?
Mapped types позволяют изменять или трансформировать все свойства существующего типа. Это полезно для создания новых типов, которые немного отличаются от исходных, например, для того, чтобы сделать все свойства объекта обязательными или опциональными.
Чем отличаются обычные исходные карты от дешевых исходных карт в Webpack?
Обычные исходные карты (source-map) дают точное сопоставление между исходным кодом и сгенерированным, но замедляют сборку. Дешевые исходные карты (cheap-source-map) работают быстрее, но менее точны, поскольку игнорируют информацию о колонках и преобразованиях на уровне кода (например, в Babel).
В чем различия forEach и map?
forEach просто перебирает массив и выполняет функцию для каждого элемента, не возвращая новый массив. map тоже перебирает массив, но создает и возвращает новый массив с результатами вызова функции для каждого элемента.
Реализовать функцию map.
Как работают map и filter? Изменяют ли исходный массив?
Отличие map, set и object
Где могут быть полезны mapped types?
В каком порядке лучше выполнять операции: filter, sort, map, reduce?
Рейтинг:
2
Сложность:
8
Метод map создает новый массив, применяя переданную функцию к каждому элементу исходного массива. Реализовать его можно с помощью цикла.
Рейтинг:
2
Сложность:
7
map создает новый массив, применяя функцию к каждому элементу исходного.
filter создает новый массив, оставляя только элементы, удовлетворяющие условию.
Оба метода не изменяют исходный массив (чистые функции).
Рейтинг:
4
Сложность:
5
Object — это базовая структура "ключ-значение", где ключи обычно являются строками или символами. Map — это более современная и специализированная структура "ключ-значение", которая позволяет использовать ключи любого типа (включая объекты), сохраняет порядок элементов и предоставляет удобные методы для работы. Set — это коллекция уникальных значений любого типа, которая также сохраняет порядок добавления.
Рейтинг:
4
Сложность:
7
Mapped Types (отображаемые типы) полезны, когда вам нужно создать новый тип на основе старого, применив одно и то же преобразование ко всем свойствам исходного типа. Они идеально подходят для задач, где требуется сделать все свойства опциональными (Partial<T>), доступными только для чтения (Readonly<T>), или выбрать подмножество свойств по их именам. Это мощный инструмент для избежания рутинного дублирования кода при определении схожих типов.
Рейтинг:
5
Сложность:
5
Обычно выгодно сначала делать filter, чтобы уменьшить объем данных для следующих шагов. sort часто выполняют ближе к концу, потому что сортировка дороже по времени и при этом мутирует массив, если не скопировать его. map логично делать после фильтрации, чтобы не вычислять лишнее. reduce чаще ставят последним, когда нужно собрать итог (число, объект, Map и т.д.).
Рейтинг:
4
Сложность:
7
Рейтинг:
5
Сложность:
8
Рейтинг:
4
Сложность:
7
Рейтинг:
3
Сложность:
5
Рейтинг:
2
Сложность:
2