Встроенные структуры данных в JavaScript

Через призму Большого О

Какие простые и быстрые действия мы делаем с массивом и объектами. Какой метод может быть медленнее, чем мы ожидаем... давайте углубимся в тему, как будут работать массивы и объекты.

Теперь, когда мы рассмотрели Big O

Давайте потратим пару минут на анализ того, что мы постоянно делаем в JS: работаем с массивами, объектами и встроенными методами.

ЦЕЛИ

  1. Понять, как работают объекты и массивы, через призму Big O
  2. Объясните, почему добавление элементов в начало массива требует больших затрат.
  3. Сравните и сопоставьте среду выполнения для массивов и объектов, а также встроенных методов.

ОБЪЕКТЫ

  1. Давайте начнем с разговора об объектах, рассказывая о них через призму Большого О и перформанса.
  2. Надеюсь, вы знакомы с Big O, если не проблема, вы можете узнать здесь


3. Объекты представляют собой неупорядоченные структуры данных, и все хранится в парах ключ/значение.

Когда использовать объекты

  1. Объекты хорошо работают, когда вам не нужен порядок.
  2. Когда вам нужен быстрый доступ/вставка и удаление
  3. Когда вам не нужен порядок, объекты - отличный выбор

Большой O объектов

Вставка — О(1)

Удаление — О(1)

Поиск — O(N)

Доступ — О(1)

Большое О методов объектов

Объект.ключи — O(N)

Object.values ​​— O(N)

Object.entries — O(N)

hasOwnProperty — О (1)

МАССИВЫ

Давайте поговорим о массивах, как они соотносятся с объектами. Если вы не знакомы с массивами. сначала идите и узнайте о массивах, это очень полезная и простая концепция.

  1. Массивы — это упорядоченные списки

Когда использовать массивы

  1. Когда нужен порядок
  2. Когда вам нужен быстрый доступ/вставка и удаление

Большое O массивов

Вставка — это зависит..

Вставка в массивы зависит от того, как вы вставляете данные в массив, вы можете вставлять данные с начала массива или с конца массива, используя shift и push . Однажды вы сделали так, что нам нужно переиндексировать каждый элемент в массиве. Итак, это зависит от того, как вы решите вставить

Удаление — это зависит..

Удаление в массивах зависит от того, как вы удаляете значение из массива, используя pop или unshift. Однажды вы сделали так, что нам нужно переиндексировать каждый элемент в массиве. Итак, это зависит от того, какой способ вы выберете для удаления.

Поиск — O(N)

Доступ — О(1)

Большое О операций с массивами

нажать — О(1)

поп - O (1)

сдвиг — О(Н)

снять сдвиг — O(N)

конкат — O(N)

срез — O(N)

сращивание — O(N)

сортировка — O(N * log N)

forEach/карта/фильтр/уменьшить/и т.д. -НА)

Объекты сравнения/массивы

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

Спасибо за ваше время, я очень рад за вас, вы узнали классные вещи об объектах и ​​массивах. Любые исправления или предложения или улучшения, не стесняйтесь комментировать.