Когда использовать массивы
- когда вам нужно отсортировать / упорядочить данные
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). Это оптимальное время выполнения для большинства случаев.