← Назад к вопросам

Что такое массив?

1.0 Junior🔥 301 комментариев
#Алгоритмы и структуры данных

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI30 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое массив?

Массив — это упорядоченная коллекция элементов, хранящихся в одной переменной. Это один из фундаментальных типов данных в программировании, позволяющий работать с несколькими значениями одновременно. Каждый элемент массива имеет индекс (порядковый номер), начинающийся с 0.

Основные характеристики массива

  • Упорядоченность: элементы расположены в определённом порядке
  • Индексация: доступ к элементам по индексу (0, 1, 2, ...)
  • Динамическое изменение: размер может меняться во время выполнения
  • Гетерогенность: в одном массиве могут храниться элементы разных типов

Примеры создания массивов в JavaScript

// Литеральная нотация
const numbers = [1, 2, 3, 4, 5];
const mixed = [1, "строка", true, null];
const empty = [];

// Конструктор Array
const arr = new Array(3); // [empty, empty, empty]
const arr2 = new Array(1, 2, 3); // [1, 2, 3]

Основные операции с массивами

Доступ к элементам:

const fruits = ["яблоко", "груша", "апельсин"];
console.log(fruits[0]); // "яблоко"
console.log(fruits.length); // 3
fruit[3] = "банан"; // добавление элемента

Методы добавления и удаления:

const arr = [1, 2, 3];
arr.push(4); // добавление в конец → [1, 2, 3, 4]
arr.pop(); // удаление последнего → [1, 2, 3]
arr.unshift(0); // добавление в начало → [0, 1, 2, 3]
arr.shift(); // удаление первого → [1, 2, 3]
arr.splice(1, 1, 99); // удаление и вставка → [1, 99, 3]

Методы преобразования:

const nums = [1, 2, 3];
const doubled = nums.map(n => n * 2); // [2, 4, 6]
const evens = nums.filter(n => n % 2 === 0); // [2]
const sum = nums.reduce((acc, n) => acc + n, 0); // 6

Многомерные массивы

Массивы могут содержать другие массивы, создавая матрицы:

const matrix = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];
console.log(matrix[1][2]); // 6

Важные отличия в TypeScript

// Типизированные массивы
const numbers: number[] = [1, 2, 3];
const strings: Array<string> = ["a", "b"];
const mixed: (number | string)[] = [1, "два", 3];

// Только для чтения
const readonly arr: readonly number[] = [1, 2, 3];

Производительность и лучшие практики

  • Используй map, filter, reduce вместо цикла для чистоты кода
  • Для большших массивов избегай shift/unshift (O(n)), используй Deque если нужно
  • Помни о мутации: методы как push изменяют исходный массив
  • Используй spread operator для копирования: const copy = [...arr]

Массивы — это мощный инструмент, позволяющий эффективно организовывать и обрабатывать данные в приложении.