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

  • когда вам нужно отсортировать / упорядочить данные

Big-O

  • Поиск по)

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

  • Доступ: O (1)

У массивов есть индексы, поэтому можно быстро получить доступ к определенному элементу в массиве.

  • Вставить / Удалить: это зависит от того, где вставляется / удаляется элемент.

Если я добавлю / уберу с конца, это будет O (1). Индексы исходного массива не изменились. Если бы я сделал trainers.push(“Serena”), массив trainers теперь был бы [“Ash”, “Brock”, “Misty”, “May”, “Max”, “Serena”]. Компьютеру не нужно возвращаться и редактировать индексы.

Если я добавлю / удаляю с самого начала, это будет O (N). Индексы исходного массива должны измениться. Если бы я сделал trainers.unshift(“Serena”), массив trainers теперь был бы [“Serena”, “Ash”, “Brock”, “Misty”, “May”, “Max”]. trainers[0] раньше было “Ash”, но теперь должно быть “Serena” из-за деструктивного изменения.

Методы массива Javascript

push () / pop ()

Эти методы работают с концом массива, поэтому индексы не нужно переставлять с начала. У них есть O (1).

shift () / unshift () / concat () / slice () / splice ()

Эти методы имеют дело с изменением индексов существующего или дают вам новый массив, поэтому они имеют O (N).

forEach () / карта () / фильтр () / уменьшить ()

Эти методы выполняют итерацию по массиву, поэтому он масштабируется в зависимости от количества элементов в массиве. Таким образом, у них есть O (N).

Сортировать()

Это O (N * log N). Это оптимальное время выполнения для большинства случаев.