В своих предыдущих статьях из серии Структура данных JavaScript я писал о структурах данных, которые вы можете настраивать. В этой статье мы рассмотрим встроенные структуры данных JavaScript. Массивы являются частью встроенной структуры данных в JavaScript, как и объекты. Спецификация ECMAScript 2015 представила два новых типа итерируемых объектов: карты и наборы. Давайте рассмотрим каждый из них ниже.

ОБЪЕКТЫ

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

Вот некоторые характеристики объектов в JS.

  • Объекты можно повторять с помощью цикла for-in.
  • Ключи должны быть уникальными.
  • Значения не обязательно должны быть уникальными.
  • Несколько свойств могут иметь одно и то же значение в объекте.

фрагмент кода

Операции с объектами и Big O

  • Поиск по значению — O(n)
  • Добавление, удаление и доступ — O(1)

НАБОР

Set — это набор данных с ключом. Поскольку есть списки, у них нет индексов, как у массивов. Если вы хотите извлечь уникальную коллекцию, можно использовать набор. Некоторые характеристики наборов

  • Они динамичны по размеру.
  • Порядок вставки не сохраняется.
  • Удалить и найти в Set очень быстро!
  • Используйте, когда порядок не имеет для вас значения.

фрагмент кода

Набор операций и Big O

  • Структура данных add(), delete() и has()in Set имеет временную сложность O(1).

КАРТЫ

Карты похожи на наборы, которые содержат упорядоченные данные. Вот свойства карт

  • Карты могут быть чем угодно, включая массив или сам объект.
  • Карты используются только в определенных случаях, особенно для извлечения и удаления данных.
  • Можно повторять с помощью цикла for-of.

Встроенные методы

Это общие методы, которые используются с картами — has(), get() и set().

фрагмент кода

Это встроенные структуры данных, доступные в JavaScript. Надеюсь, вам понравился этот краткий обзор структур данных Set, Object и Map. Если вам понравилась эта статья, хлопните в ладоши!