Массив – это упорядоченная коллекция элементов, где каждый элемент имеет свой числовой индекс, начиная с 0. В JavaScript массивы динамические: их размер автоматически изменяется при добавлении или удалении элементов.
Основное преимущество: мгновенный доступ к любому элементу по индексу O(1).
Недостаток: вставка или удаление элементов в середине массива требует сдвига всех последующих элементов, что медленно O(n).
| Доступ по индексу | O(1) | |
| Линейный поиск | O(n) | |
| Вставка/удаление в конец | амортиз. O(1) | |
| Вставка/удаление в середине | O(n) | |
| Память | O(n) |
1const a = [10, 20, 30];2a.push(40); // O(1) амортизированно3const x = a[1]; // O(1)4console.log(x); // -> 205const i = a.indexOf(30); // O(n)6a.splice(i, 1); // удалить из середины: O(n)7console.log(a); // -> [10, 20, 40]