Работа с индексами массива в JavaScript

Дан массив:

const arr = [1,2,3,4,5];

arr.push(0) повлияет на массив так же, как если бы мы выполнили:

Теоретическое обоснование задачи

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

Массивы в JavaScript представляют собой особый вид объектов, предназначенных для хранения упорядоченных коллекций элементов. Каждый элемент имеет числовой индекс, начиная с нуля. Массивы предоставляют ряд методов для удобной манипуляции элементами и изменения структуры коллекции.

Структура массива

Каждый массив обладает следующим набором характеристик:

  • Индексирование начинается с 0;
  • Элементы располагаются последовательно друг за другом;
  • Доступ к элементам осуществляется по целым числам, представляющим индексы;
  • Существует специальный атрибут length, хранящий количество элементов в массиве.

Например:

let array = ["apple", "banana", "cherry"];
console.log(array.length); // Выведет 3

Методы работы с массивами

Существует несколько основных способов добавления и удаления элементов в массиве:

1. Добавление элементов:

  • push(element): добавляет элемент в конец массива и возвращает новую длину;
  • unshift(element): вставляет элемент в начало массива и сдвигает остальные элементы вправо;
  • Прямая запись значения по индексу: array[index] = value.
let fruits = ["apple", "banana"];
fruits.push("orange"); // ['apple', 'banana', 'orange']
fruits.unshift("grape"); // ['grape', 'apple', 'banana', 'orange']
fruits[fruits.length] = "mango"; // ['grape', 'apple', 'banana', 'orange', 'mango']

2. Удаление элементов:

  • pop(): удаляет последний элемент массива и возвращает его;
  • shift(): удаляет первый элемент массива и сдвигает остальные элементы влево;
  • splice(startIndex, deleteCount): позволяет удалять и добавлять элементы внутри массива.

Примеры:

let vegetables = ["carrot", "potato", "tomato"];
vegetables.pop(); // Уберёт "tomato"
vegetables.shift(); // Уберёт "carrot"
vegetables.splice(1, 1); // Уберёт "potato"

Индексация и свойства массивов

Индексация в массивах основывается на числах:

  • Первый элемент доступен по индексу 0;
  • Последний элемент доступен по индексу length - 1.

Важно понимать, что JavaScript допускает создание свойств массива с произвольными именами, включая строки и отрицательные числа. Однако такие свойства не являются частью стандартного поведения массива и игнорируются большинством встроенных методов (map, reduce, forEach).

Важные моменты:

  • Изменяя длину массива вручную, важно помнить, что новые элементы автоматически создаются пустыми (undefined), пока вы не присвоите им значения;
  • Присваивая значение по индексу больше текущей длины, длина массива увеличивается соответственно.