Работа с индексами массива в 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), пока вы не присвоите им значения;
- Присваивая значение по индексу больше текущей длины, длина массива увеличивается соответственно.